Правила htaccess для seo адресов

Правила форума
При возникновении вопросов, связанных с работой движка вы должны предоставить ссылку на свой сайт с установленным движком (или вписать адрес трекера в свой профиль), в случае, если на вашем сайте не будет копирайтов (внизу каждой страницы), то в помощи вам будет отказано, а ваш аккаунт будет отключен.
Все сообщения должны быть написаны на русском языке. Язык "падонкаф" русским языком не считается.
Все сообщения, написанные не на русском языке будут удаляться, а их автор будет получать предупреждения.

Правила htaccess для seo адресов

Сообщение Nafania » 01 фев 2011, 15:26

Код: Выделить всё
RewriteEngine On

#start some base pages
RewriteRule faq(_([a-z0-9-]+))?\.html /faq.php?mode=$2 [L,QSA]
RewriteRule rules\.html /rules.php [L,QSA]

RewriteRule signup\.html /signup.php [L,QSA]
RewriteRule login\.html /login.php [L,QSA]
RewriteRule sitemap\.xml /sitemap.php [L,QSA]
#end some base pages

#start forum pages
RewriteRule forum/$ /phpbb2.php [L,QSA]
RewriteRule forum/search\.html$ /phpbb2.php?page=search [L,QSA]
RewriteRule forum/newposts\.html$ /phpbb2.php?page=search&search_id=newposts [L,QSA]
RewriteRule forum/(.*)-topics\.html$ /phpbb2.php?page=search&search_id=egosearch [L,QSA]
RewriteRule forum/unanswered\.html$ /phpbb2.php?page=search&search_id=unanswered [L,QSA]
RewriteRule user/(.*)/topics/$ /phpbb2.php?page=search&search_author=$1 [L,QSA]
#end forum pages

# forum topic with parents
RewriteRule forum/[/\w-]+/[a-z0-9_-]*-t([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1 [L,QSA]
RewriteRule forum/[/\w-]+/[a-z0-9_-]*-t([0-9]+)-([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1&start=$2 [L,QSA]
#forum topic without parents
RewriteRule forum/[\w-]+-t([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1 [L,QSA]
RewriteRule forum/[\w-]+-t([0-9]+)-([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1&start=$2 [L,QSA]

#print pages
RewriteRule forum/[/\w-]*/[\w-]*-t([0-9]+)_print\.html$ /phpbb2.php?page=viewtopic&t=$1&printertopic=1 [L,QSA]
RewriteRule forum/[/\w-]*/[\w-]*-t([0-9]+)_print-([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1&printertopic=1&start=$2 [L,QSA]
RewriteRule forum/[/\w-]*/[\w-]*-t([0-9]+)_print-full\.html$ /phpbb2.php?page=viewtopic&t=$1&printertopic=1&finish_rel=-10000 [L,QSA]

#post pages
RewriteRule forum/post([0-9]+)\.html$ /phpbb2.php?page=viewtopic&p=$1 [L,QSA]

#search pagination
RewriteRule forum/search-([0-9]+)\.html$ /phpbb2.php?page=search&start=$1 [L,QSA]

#forum urls with id
RewriteRule forum/[a-z0-9_-]*-f([0-9]+)-([0-9]+)/$ /phpbb2.php?page=viewforum&f=$1&start=$2 [L,QSA]

#topic urls with id
RewriteRule forum/[a-z0-9_-]*-t([0-9]+)-([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1&start=$2 [L,QSA]

#base topic urls
RewriteRule forum/topic([0-9]+)\.html$ /phpbb2.php?page=viewtopic&t=$1 [L,QSA]


#torrents page
RewriteRule torrents/page([0-9]+)\.html$ /browse.php?page=$1 [L,QSA]
RewriteRule torrents/$ /browse.php [L,QSA]

#details page with id
RewriteRule [/\w-]*-t([0-9]+)(-([0-9]+))?\.html$ /details.php?id=$1&page=$3 [L,QSA]

#base details page
RewriteRule details([0-9]+)\.html$ /details.php?id=$1 [L,QSA]

#torrent download
RewriteRule [/\w-]*-t([0-9]+)\.torrent$ /details.php?id=$1&action=download [L,QSA]

#comment url
RewriteRule comment([0-9]+)\.html$ /comment.php?cid=$1 [L,QSA]
RewriteRule comment\.html$ /comment.php [L,QSA]

#profile without id
RewriteRule user/(.*)/comments/(page([0-9]+)\.html)?$ /userdetails.php?un=$1&action=comments_history&page=$3 [L,QSA]
RewriteRule user/(.*)/(.*)/$ /userdetails.php?un=$1&action=$2 [L,QSA]
RewriteRule user/(.*)/$ /userdetails.php?un=$1 [L,QSA]

#index pagination
RewriteRule page([0-9]+)\.html$ /index.php?page=$1 [L,QSA]

#some search
RewriteRule torrents\/tags/(.*)/$ /browse.php?search_in=3&search=$1 [L,QSA]
RewriteRule torrents\/descr/(.*)/$ /browse.php?search_in=2&search=$1 [L,QSA]
RewriteRule torrents\/name/(.*)/$ /browse.php?search_in=1&search=$1 [L,QSA]

#forum categories without id
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule forum/([\w-]*)/$ /phpbb2.php?uri=$1 [L,QSA]

#forum forums without id
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule forum/([/\w-]*)/page([0-9]+)\.html$ /phpbb2.php?page=viewforum&uri=$1&start=$2 [L,QSA]

#forum forums without id
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule forum/([/\w-]*)/$ /phpbb2.php?page=viewforum&uri=$1 [L,QSA]

#browse categories without id
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([/a-z0-9_-]*)/$ /browse.php?uri=$1 [L,QSA]

#browse categories without id pagination
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([/a-z0-9_-]*)/page([0-9]+)\.html$ /browse.php?uri=$1&page=$2 [L,QSA]


Если трекер в папке, то надо добавить RewriteBase
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: Правила htaccess для seo адресов

Сообщение x010d » 01 фев 2011, 17:40

Спасибо.
Для полного счастья от движка хочется:
1) Стиль phpBB3
x010d
 
Сообщения: 381
Зарегистрирован: 10 фев 2008, 00:52
Откуда: Норильск
Адрес трекера: http://tracker.allnorilsk.ru

Re: Правила htaccess для seo адресов

Сообщение x010d » 20 фев 2011, 10:03

Эм, чего нужно переделать в class.seo.php, чтобы реврайт работал только для деталей торрента, большего собственно и не требовалось (изначально :) ).
В остальном все работает исправно, правила под себя подкрутил. Еще раз спасибо.

p.s. Можно оставить как есть в плане реврайта, только опять же с виртуальными папками косяки (лог ошибок забивается так, как будто это не виртуальная папка а физическая, ошибки что папка не существует.) Парсить огромные логи доступа на выявления косячного клиента дело нудное и бестолковое.
Для полного счастья от движка хочется:
1) Стиль phpBB3
x010d
 
Сообщения: 381
Зарегистрирован: 10 фев 2008, 00:52
Откуда: Норильск
Адрес трекера: http://tracker.allnorilsk.ru

Re: Правила htaccess для seo адресов

Сообщение Nafania » 20 фев 2011, 12:11

Только для одной страницы нельзя включить или для всего или ни для чего.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: Правила htaccess для seo адресов

Сообщение x010d » 20 фев 2011, 13:50

как тогда избавиться от виртуальных папок? пробовал вместо / прописывать .html, тогда перестает работать переход на другие страницы (htaccess естественно подправлял под изменения)
Для полного счастья от движка хочется:
1) Стиль phpBB3
x010d
 
Сообщения: 381
Зарегистрирован: 10 фев 2008, 00:52
Откуда: Норильск
Адрес трекера: http://tracker.allnorilsk.ru

Re: Правила htaccess для seo адресов

Сообщение Nafania » 20 фев 2011, 14:55

Какие именно виртуальные папки?
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: Правила htaccess для seo адресов

Сообщение x010d » 20 фев 2011, 22:33

профили юзверей /username-uXX/
browse -> torrents/
категории трекера ввиде /catname-cXX/ (/catname-cXX/catname-cXX/ - в случае с подкатегориями)
коменты - через профиль которые смотрятся. /username-uXX/comments/

Это виртуальные папки по умолчанию.
При этом в настройках выставлено:
Profiles and groups injection: on
Virtual folder Profiles: off
Virtual Folder: off
Virtual Root: off
Forum URL caching: on
Forum ID Removing: on - потомучто к категориям начинают прирастать при обновлении параметров - xXX (до бесконечности), это при том что уже есть -сXX

это из основных, все остальное off
Для полного счастья от движка хочется:
1) Стиль phpBB3
x010d
 
Сообщения: 381
Зарегистрирован: 10 фев 2008, 00:52
Откуда: Норильск
Адрес трекера: http://tracker.allnorilsk.ru

Re: Правила htaccess для seo адресов

Сообщение Nafania » 20 фев 2011, 22:44

А что вы хотите получить?
При URL caching включенном вы можете сами отредактировать названия и убрать из них cXX и то же самое на форуме.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: Правила htaccess для seo адресов

Сообщение x010d » 21 фев 2011, 05:38

профили юзверей /username-uXX/ -> username-uXX.html
browse -> вместо torrents/ получить browse.html (страницы чтобы перелистывались, если сделать html, типа browse-p2.html - у меня ссылка генерится норм, но переход не пашет) пример - вместо /torrents/page2.html получить browse-p2.html
категории трекера в виде /catname-cXX/ -> тоже в html вывести чтобы например вместо musornik-c52/page2.html получить musornik-c52-page2.html
коменты - через профиль которые смотрятся. /username-uXX/comments/

Причины написаны выше, в p.s. второго поста.
Глюки кеша (где самому писать названия категорий можно), если не включить Forum ID Removing - в моем предыдущем посте. (вырубил пока нафиг)

Основная проблема почему не могу сам, ссылки после изменений в SEO генерятся в .html, но хз почему не пашет переход по ним на страницы далее 1й (пишет что нет такой, хотя правила прописаны верно).

Чтобы была понятнее проблема с виртуальными папками которые по умолчанию используются, из еррорлога апача.
Код: Выделить всё
[Mon Feb 21 01:42:37 2011] [error] [client ] File does not exist: /var/www/tbdevsz/torrents/js, referer: http://tracker.allnorilsk.ru/torrents/
[Mon Feb 21 01:43:20 2011] [error] [client ] File does not exist: /var/www/tbdevsz/torrents/name, referer: http://tracker.allnorilsk.ru/torrents/?c46=1&incldead=0&search=Windows&search_in=1
[Mon Feb 21 01:41:49 2011] [error] [client ] File does not exist: /var/www/tbdevsz/torrents/tags, referer: http://tracker.allnorilsk.ru/kubok-anglii-1-16-final-leyton-orient-arsenal-20-02-11-futbol-tvrip-t74594.html

проблема помоему в baseurl.
Для полного счастья от движка хочется:
1) Стиль phpBB3
x010d
 
Сообщения: 381
Зарегистрирован: 10 фев 2008, 00:52
Откуда: Норильск
Адрес трекера: http://tracker.allnorilsk.ru

Re: Правила htaccess для seo адресов

Сообщение Nafania » 21 фев 2011, 11:52

Чтобы получить не папки, а .html надо править файл class.seo.php
Эти условия заданы в
Код: Выделить всё
var   $seo_ext = array(


там, где надо, надо исправить / на .html

Если не работает pager, то значит правила в htaccess неверные.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: Правила htaccess для seo адресов

Сообщение NARCOMAN » 23 фев 2012, 21:20

нафаня и x010d, привет.. у меня проблемс

вот в .htaccess есть правило:
Код: Выделить всё
RewriteRule torrents/$ /browse.php [L,QSA]

(зы. корень сайта тут http://localhost/)
когда перехожу на страничку http://localhost/torrents/
то стили и все остальные файлики хотят грузиться с
/torrents/templates/main/main.css
.... в nginx как то вроде все нормально, а вот в apache ...
попробуйте сами. как ето исправить скажите плиз? :| :cry: :(
NARCOMAN
 
Сообщения: 99
Зарегистрирован: 11 апр 2008, 13:21

Re: Правила htaccess для seo адресов

Сообщение Nafania » 23 фев 2012, 21:28

А сам плагин включен? Там должен мета тег добавляться с указанием basehref
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: Правила htaccess для seo адресов

Сообщение NARCOMAN » 24 фев 2012, 06:19

Nafania писал(а):А сам плагин включен? Там должен мета тег добавляться с указанием basehref

:D пасиб нафаня, все починил, закомментировал там пару строг я...
зы. я первый рас слышу про етот тег, вот чесно, пц... ну везде вроде рабоатет http://htmlbook.ru/html/base во всех браузерах. лан спсб.
NARCOMAN
 
Сообщения: 99
Зарегистрирован: 11 апр 2008, 13:21


Вернуться в Движок

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron