Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > htaccess ЧПУ конфликт


Автор: galeevit 9.7.2015, 12:39
Здравствуйте, делаю ЧПУ с помощью модуля Apache mod_rewrite. Вот сам файл .htaccess:
Код

<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^panda-trade.com
RewriteRule (.*) http://www.panda-trade.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /home\.html\ HTTP/
RewriteRule ^home\.html$ http://www.panda-trade.com/ [R=301,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?view=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+)\.html$ index.php?view=$1&page=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+)\.html$ index.php?view=$1&t=$2 
</IfModule>

Пример как я хочу преобразовывать две последних адреса: 
1) RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+)\.html$ index.php?view=$1&t=$2 
http://www.panda-trade.com/archeage_rus/gold_archeage_rus.html 
2) RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+)\.html$ index.php?view=$1&page=$2 
http://www.panda-trade.com/comments/1.html 
Первое правило выполняется, а второе игнорируеться. Я понимаю что эти два правила по сути одно и тоже и выполняют одинаковое преобразовании, но можно как-то принудительно указать - если переменная $1 равна "comments" тогда выполнять правило номер 2?

Автор: ksnk 9.7.2015, 13:40
Цитата(galeevit @  9.7.2015,  12:39 Найти цитируемый пост)
если переменная $1 равна "comments" тогда выполнять правило номер 2

Код

RewriteRule ^(comments)/([a-zA-Z_-]+)\.html$ index.php?view=$1s&t=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+)\.html$ index.php?view=$1&page=$2 

?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)