Версия для печати

Нажмите сюда для просмотра этой темы в обычном формате

Nucleus CMS RuSupport _ Основные вопросы _ Включаем Fancy URL

Автор: LCD Aug 23 2005, 02:57 PM

А как сделать из динамики статику? у меня все урлы вида /index.php?catid=4&blogid=1 и тому подобное.. а хотелось бы без вопросиков знаков ровно и все такок, вот такие например _http://site.ru/item/12 что куда прописать?

Автор: Suvoroff Aug 24 2005, 10:16 AM

Объясняю.
В архиве с движком есть папка extra (а в ней папка fancyurls).
Открываешь файл в текстовом редакторе fancyurls.config.php
и указываешь там путь куда движок ставил без последнего слеша в ссылке.
Заливаешь все файлы из этой папки в корень (туда где находятся файлы action.php и index.php).
Потом правишь строку в файле index.php (из корня) что бы было вот так:

CODE
$CONF['Self'] = '.';

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

Все.

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


Автор: LCD Aug 24 2005, 12:24 PM

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

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

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

*




спасибо. все заработало!

Автор: HitMan Sep 6 2005, 10:25 PM

Suvoroff, кажется по теме.
извини, но не могу бы ты дать линк на ман по установке ЧПУ(fancyurls) на 3.22.
не нашёл на офф сайте, ты говоришь там какая то разница smile.gif
инглиш пойму.

Автор: saahov Sep 8 2005, 12:15 AM

Разницы нет, но если нужно подробное описание, можно посмотреть здесь: _http://nucleus.net.ru/forum/viewtopic.php?t=7

Автор: HitMan Sep 8 2005, 02:07 AM

ага, спасибо saahov.
уже решился сделать не дожидаясь ответа и получилось wink.gif

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

Автор: Suvoroff Sep 8 2005, 01:06 PM

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 Sep 8 2005, 10:55 PM

Suvoroff, ага, так точно, не было.
но я всё кажется заточил, в плоть до плагинов, всё пашет со тсарыми примечаниями, спасибо smile.gif

Автор: nektotigra Sep 14 2005, 12:31 PM

все сделал в точности по инструкции. фэнсиурлы включаются, но при попытке перехода получаю 404: The requested URL /item/1728 was not found on this server
Что не так?

Автор: Suvoroff Sep 14 2005, 03:14 PM

дай ссылку.
Ты случайно не используешь несколько блогов?

Автор: nektotigra Sep 14 2005, 04:56 PM

блог вот такой: http://itreview.belproject.com/ (правда, сейчас я фэнсиурлы отключил, чтобы не мешать людям)

недавно сделал еще один тестовый блог, но проблема с точно таким же описанием была и до него.

Автор: Suvoroff Sep 14 2005, 05:06 PM

fancyurls.config.php правильно настроил?

Автор: nektotigra Sep 14 2005, 05:37 PM

$CONF['Self'] = 'http://itreview.belproject.com';

так?

Автор: Suvoroff Sep 14 2005, 05:46 PM

так..

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

или распиши по действиям что ты делаешь, гдето наверное что то все таки не так делаешь..

Автор: nektotigra Sep 14 2005, 06:14 PM

там, вроде, и ошибаться негде...
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 Sep 14 2005, 08:01 PM

а файлы archive, archives, blog и тд. (без разрешений) ты заливаешь в корень? они находяться в папке extra

Автор: Suvoroff Sep 14 2005, 08:02 PM

кстати, у меня хтаксес немного другой:

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 Sep 14 2005, 08:04 PM

А индекс такой:

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 Sep 14 2005, 08:51 PM

поменял: никакого эффекта. вообще.
видимо, придется с хостером разбираться.
хотя, если бы сервер не поддерживал мод-рирайта, была бы пятисотая ошибка.
не понимаю.

Автор: Suvoroff Sep 14 2005, 09:05 PM

а файлы залиты? (blog, archives etc)?

Автор: nektotigra Sep 14 2005, 09:09 PM

залиты, конечно.

Автор: Suvoroff Sep 15 2005, 01:21 PM

тогда не могу ничем помочь

проверь все еще раз

Автор: 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 и т.д.

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

Автор: Me2 Nov 6 2005, 02:42 AM

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 Mar 15 2006, 07:19 PM

Спс=)
получилось

Автор: nektotigra Apr 18 2006, 11:49 AM

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

То есть, при заходе в корень блога 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 Apr 18 2006, 07:01 PM

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

hххp://сайт/?itemid=42&catid=1

Автор: nektotigra Apr 18 2006, 09:25 PM

Я понимаю, что не из-за фэнсиурлов smile.gif Мне интересно, как это победить.

Автор: Helga Nov 17 2006, 01:45 PM

А можно сделать, чтобы у страницы было расширение .html, а не просто _http://site.ru/item/12 ?

Автор: Suvoroff Nov 22 2006, 11:00 PM

Проверил у себя - работает без дополнительного редактирования
Вот например
http://umora.biz/item/1202.html (включены стандартные ЧПУ)

А вообще через mod_rewrite

Автор: Fargus Mar 21 2007, 11:48 AM

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

Автор: Suvoroff Mar 22 2007, 08:01 PM

http://nucleus.com.ru/item/19

правда, на офф сайте уже новая версия, но я думаю, взглянув на мою, вы без труда доработаете новую

Автор: Alesha Dec 16 2008, 09:36 PM

Установлен модуль статичных страниц. При переходе на статичную страницу ссылки меню приобретают вид
www.мой_сайт/static.php/category/7/blogid/1
Как подправить .htaccess чтобы для статичных страниц static.php?id=stranica ЧПУ не применялся?

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)