Помощь - Поиск - Пользователи - Календарь
Полная версия: Включаем Fancy URL
Nucleus CMS RuSupport > Решение проблем > Основные вопросы
LCD
А как сделать из динамики статику? у меня все урлы вида /index.php?catid=4&blogid=1 и тому подобное.. а хотелось бы без вопросиков знаков ровно и все такок, вот такие например _http://site.ru/item/12 что куда прописать?
Suvoroff
Объясняю.
В архиве с движком есть папка extra (а в ней папка fancyurls).
Открываешь файл в текстовом редакторе fancyurls.config.php
и указываешь там путь куда движок ставил без последнего слеша в ссылке.
Заливаешь все файлы из этой папки в корень (туда где находятся файлы action.php и index.php).
Потом правишь строку в файле index.php (из корня) что бы было вот так:
CODE
$CONF['Self'] = '.';

(править только одну строку).
Перезаписываешь индекс.пхп на серве с только что правленным, идешь в админку -> Основные настройки (global settings) и там ставишь переключатель "Включить фенсиурл" (enable FancyURLS).

Все.

Примечание - в последней версии (3.22) там немного по другому надо делать, я еще не смотрел как.
И если у тебя несколько блогов на сайте тоже немного по другому надо делаьть. smile.gif

LCD
QUOTE(Suvoroff @ Aug 24 2005, 09:16 AM)

Потом правишь строку в файле index.php (из корня) что бы было вот так:
CODE
$CONF['Self'] = '.';

(править только одну строку).
Перезаписываешь индекс.пхп на серве с только что правленным, идешь в админку -> Основные настройки (global settings) и там ставишь переключатель "Включить фенсиурл" (enable FancyURLS).

*




спасибо. все заработало!
HitMan
Suvoroff, кажется по теме.
извини, но не могу бы ты дать линк на ман по установке ЧПУ(fancyurls) на 3.22.
не нашёл на офф сайте, ты говоришь там какая то разница smile.gif
инглиш пойму.
saahov
Разницы нет, но если нужно подробное описание, можно посмотреть здесь: _http://nucleus.net.ru/forum/viewtopic.php?t=7
HitMan
ага, спасибо saahov.
уже решился сделать не дожидаясь ответа и получилось wink.gif

менюшки тока в ручную фэнсиурлил.
Suvoroff
Installation
------------

1. Copy all files in this directory (except for index.html) to your main nucleus dir
(where your index.php and action.php file are)

If you have an already existing .htaccess file (most ftp-programs don't show hidden files
by default, so don't start uploading it without checking your server). If you do, download
that old one first, and copy the contents of the new .htaccess file (from the fancyurls
folder) in your old one, and upload that...

2. Edit fancyurls.config.php so that $CONF['Self'] points to your main directory.
NOTE: this time, and only this time, the URL should NOT end in a slash

3. Edit index.php to look like this:

$CONF = array();

include('./fancyurls.config.php');
include('./config.php');

selector();

4. Enable 'Fancy URLs' in the Nucleus admin area (nucleus management / edit settings)

5. Off you go!


3 пункт новый. в 3.21 такого не было
Guest
Suvoroff, ага, так точно, не было.
но я всё кажется заточил, в плоть до плагинов, всё пашет со тсарыми примечаниями, спасибо smile.gif
nektotigra
все сделал в точности по инструкции. фэнсиурлы включаются, но при попытке перехода получаю 404: The requested URL /item/1728 was not found on this server
Что не так?
Suvoroff
дай ссылку.
Ты случайно не используешь несколько блогов?
nektotigra
блог вот такой: http://itreview.belproject.com/ (правда, сейчас я фэнсиурлы отключил, чтобы не мешать людям)

недавно сделал еще один тестовый блог, но проблема с точно таким же описанием была и до него.
Suvoroff
fancyurls.config.php правильно настроил?
nektotigra
$CONF['Self'] = 'http://itreview.belproject.com';

так?
Suvoroff
так..

тогда не знаю, вроде все должно работать, в админке включил?

или распиши по действиям что ты делаешь, гдето наверное что то все таки не так делаешь..
nektotigra
там, вроде, и ошибаться негде...
1. заливаю файл .htaccess вида
QUOTE
RewriteEngine On
<FilesMatch "^item$">
    ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^archive$">
    ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^member$">
    ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^archives$">
    ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^category$">
    ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^blog$">
    ForceType application/x-httpd-php
</FilesMatch>


2. правлю fancyurls.config.php (вставляю свой урл, как написано) и заливаю его вместе с остальными файлами из папки

3. вношу изменения в index.php (у меня версия 2,21) вида
QUOTE
$CONF['Self'] = '.';

include('./config.php');

selectBlog('itreview');
selector();

и тоже заливаю на сервер.

4. включаю поддержку фэнсиурлов.

5. перезагружаю индекс. ссылки приобретают нужный вид, но вот ни одна из них не открывается, зараза.
Suvoroff
а файлы archive, archives, blog и тд. (без разрешений) ты заливаешь в корень? они находяться в папке extra
Suvoroff
кстати, у меня хтаксес немного другой:
CODE

<FilesMatch "^item$">
   ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^archive$">
   ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^member$">
   ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^archives$">
   ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^category$">
   ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^blog$">
   ForceType application/x-httpd-php
</FilesMatch>
Suvoroff
А индекс такой:
CODE
<?php
// This file will generate and return the main page of the site
$CONF = array();
$CONF['Self'] = '.';
include('./config.php');
selector();
?>


и зачем ты поставил selectBlog('itreview');?
nektotigra
поменял: никакого эффекта. вообще.
видимо, придется с хостером разбираться.
хотя, если бы сервер не поддерживал мод-рирайта, была бы пятисотая ошибка.
не понимаю.
Suvoroff
а файлы залиты? (blog, archives etc)?
nektotigra
залиты, конечно.
Suvoroff
тогда не могу ничем помочь

проверь все еще раз
Suvoroff
Значит тут выяснилось что причина в ошибке 404 может быть из-за того, что на сервере запрещен запуск файлов без разрешений. Решение этой проблемы было найдено на офф сайте, путем замены обычных файлов на файлы *.php. Объясняю (перевожуsmile.gif):

Создаем .htaccess следующего содержания:
CODE

RewriteRule ^member/(.*) /member.php/$1
RewriteRule ^item/(.*) /item.php/$1
RewriteRule ^blog/(.*) /blog.php/$1
RewriteRule ^archive/(.*) /archive.php/$1
RewriteRule ^archives/(.*) /archives.php/$1


Далее переименовываем все файлы без разрешений, на *.php (они в корне должны быть)
Например - item.php, member.php и т.д.

Все, далее все делаем как обычно.
Me2
QUOTE(Suvoroff @ Nov 4 2005, 10:14 PM)
Значит тут выяснилось что причина в ошибке 404 может быть из-за того, что на сервере запрещен запуск файлов без разрешений. Решение этой проблемы было найдено на офф сайте, путем замены обычных файлов на файлы *.php. Объясняю (перевожуsmile.gif):

Создаем .htaccess следующего содержания:
CODE

RewriteRule ^member/(.*) /member.php/$1
RewriteRule ^item/(.*) /item.php/$1
RewriteRule ^blog/(.*) /blog.php/$1
RewriteRule ^archive/(.*) /archive.php/$1
RewriteRule ^archives/(.*) /archives.php/$1


Далее переименовываем все файлы без разрешений, на *.php (они в корне должны быть)
Например - item.php, member.php и т.д.

Все, далее все делаем как обычно.
*



Хочу дополнить. Потому что так тоже не работает. Вот какой должен быть htaccess:

RewriteEngine On
RewriteRule ^member/(.*) /member.php/$1
RewriteRule ^item/(.*) /item.php/$1
RewriteRule ^blog/(.*) /blog.php/$1
RewriteRule ^archive/(.*) /archive.php/$1
RewriteRule ^archives/(.*) /archives.php/$1
RewriteRule ^category/(.*) /category.php/$1
<FilesMatch "^item$">
ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^archive$">
ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^member$">
ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^archives$">
ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^category$">
ForceType application/x-httpd-php
</FilesMatch>
<FilesMatch "^blog$">
ForceType application/x-httpd-php
</FilesMatch>


clAve
Спс=)
получилось
nektotigra
М-да, у меня тоже получилось, но захотелось большего.
У нуклеуса есть очень неприятная привычка плодить дубли страниц.

То есть, при заходе в корень блога www.мойблог.tld/, адрес искомой записи будет выглядеть как www.мойблог.tld/item/n, если же обратиться к ней через "категорию" блога, имеющую адрес www.мойблог.tld/category/n/blogid/n, то адрес поменяется уже на www.мойблог.tld/item/n/catid/n. Соответственно, в базе поисковиков появляются две страницы с совершенно идентичным содержимым.

Более того, если в шаблоне такой страницы оставить внутреннюю ссылку на "категорию", то адрес категории поменяется на www.мойблог.tld/category/n. Соответственно, в базе поисковика мы имеем уже два дубля: дубль страницы с заметкой и дубль страницы категории.

Более того, если категорий несколько, а блог ведется редко, то нуклеус будет каждый день генерировать пустые страницы категорий с собственными уникальными адресами. Например, мой сайт из подписи за полтора года сумел нагенерировать почти десяток тысяч записей, пока на него не наложили фильтр и не урезали число проиндексированных страниц до 1/6 от реального числа постов.

Короче, это была несколько затянувшаяся преамбула. Собственно вопрос: как можно уменьшить число дублей средствами mod_rewrite? Очевидно, что нужно делать 301 редирект с "www.мойблог.tld/item/n/catid/n" на "www.мойблог.tld/item/n/", а также с "www.мойблог.tld/category/n/blogid/n" на "www.мойблог.tld/category/n".

Кто-нибудь может подсказать конкретную запись для mod_rewrite?
Suvoroff
Ну вообще это не из-за fancy url, а просто особенность движка.
С обычными ссылками, urlы тоде ведь вида

hххp://сайт/?itemid=42&catid=1
nektotigra
Я понимаю, что не из-за фэнсиурлов smile.gif Мне интересно, как это победить.
Helga
А можно сделать, чтобы у страницы было расширение .html, а не просто _http://site.ru/item/12 ?
Suvoroff
Проверил у себя - работает без дополнительного редактирования
Вот например
http://umora.biz/item/1202.html (включены стандартные ЧПУ)

А вообще через mod_rewrite
Fargus
Стоит fancyurl. идет преобразование линков в вид типа http://mysite/item/tiffany-toth
Но если заголовок на кирилице то соответственно линки имеют такой вид http://mysite/item/ae----ae
МОжно ли как нибудь исправить это ? сделать допустим что нибуь типа http://mysite/item/zagolovok-byl-na-kilize-stal-na-latinize
Suvoroff
http://nucleus.com.ru/item/19

правда, на офф сайте уже новая версия, но я думаю, взглянув на мою, вы без труда доработаете новую
Alesha
Установлен модуль статичных страниц. При переходе на статичную страницу ссылки меню приобретают вид
www.мой_сайт/static.php/category/7/blogid/1
Как подправить .htaccess чтобы для статичных страниц static.php?id=stranica ЧПУ не применялся?
Это "текстовая" версия, возможен просмотр только основного контента. Для просмотра полной версии этой страницы, пожалуйста нажмите сюда.
Invision Power Board © 2001-2020 Invision Power Services, Inc.