2012-06-08 2 views
1

HTAccess не соответствующего.htaccess не соответствует

RewriteCond  %{REQUEST_URI}   ^/catalog/products_in_scene.php?(.*)$ 
RewriteRule  ^(.+)     "/services/hpv/index.php?%1" 


RewriteCond  %{REQUEST_URI}   ^/shop/derivation_tree.php?(.*)$ 
RewriteRule  ^(.+)     "/services/dt/index.php?%1" 

Верхней одна соответствует отлично со всей GET переменных, второй спичками и посылает меня на нужную страницу, но никогда не отправляет его на GET переменного; Зачем?

+0

Я не вижу причин, почему она должна работать даже в первую очередь. '% {REQUEST_URI}' содержит только часть PATH URL ** ** ('/ catalog/products_in_scene.php' в вашем случае). Для соответствия строке запроса используйте 'RewriteCond% {QUERY_STRING} PATTERN_HERE'. Но в любом случае - строка запроса передается ** без изменений ** в новый пункт назначения (если новый URL не предоставил собственную строку запроса). Вы всегда можете передать исходную строку запроса, используя флаг '[QSA]'. – LazyOne

ответ

0

Удалить цитату из RewriteRule.

Если это не работает, значит, что-то не так в вашей переменной php GET.

0

Вы бы лучше использовать [QSA] флаг:

RewriteRule ^/shop/derivation_tree.php /services/dt/index.php [QSA] 
0

Измените код следующим образом:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^catalog/products_in_scene\.php$ services/hpv/index.php [R,L,NC] 

RewriteRule ^shop/derivation_tree\.php$ services/dt/index.php [R,L,NC] 
Смежные вопросы