2014-10-21 8 views
0

Я пытаюсь сделать прозрачную переадресацию из http://example.com/a/b?passcode=hello&go=rate в http://example.com/a/b/q?passcode=helloHtaccess прозрачный редирект становится 301 вместо

«а» всегда то же самое, в то время как «Ъ» продолжает изменяться

Это .htaccess Я использую в моей корневой папке:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{QUERY_STRING} passcode=(.*)&go=rate 
RewriteRule ^a(.*)?$ /a$1/q?passcode=%1 [L] 

Это не работает, как ожидалось - Я получаю 301 Moved постоянно, когда я бегу http://example.com/a/b?passcode=hello&go=rate

Если я иду на изменение RewriteRule в

RewriteRule ^a(.*)?$ /a$1/q?passcode=%1 [L,R] 

он работает, как ожидалось, и делает 301 перенаправления http://example.com/a/b/q?passcode=hello.

Однако, как мне заставить его работать с прозрачным перенаправлением? Я новичок в этом, поэтому все комментарии приветствуются!

ответ

0

Вы можете использовать это правило в корневом .htaccess:

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{QUERY_STRING} (passcode=[^&]+)&go=rate [NC] 
RewriteRule ^(a/[^/]+)/?$ /$1/q?%1 [L,NC] 

Сделать Sue нет .htaccess в папке /a/.

+0

Все еще имеет ту же проблему. В моей сети это отображается как 301 Перемещено навсегда, и оно не направляется на http://example.com/a/b/q?passcode=hello Я проверил и это единственный .htaccess файл, который находится на сервере – creavery

+0

Какой URL-адрес вы вводите в браузере? Проверьте его в другом браузере, чтобы избежать старого кэширования. Также, если у вас есть другие правила, разместите их здесь. – anubhava

+0

Это единственное правило, которое у меня есть. Раньше я входил в http://example.com/a/b?passcode=hello&go=rate. Я только что попробовал использовать http://example.com/a/b/?passcode=hello&go=rate [заметить косую черту] и перенаправляет постоянный 301 на http://example.com/a/b/q? код доступа = привет. Использование правила htaccess на данный момент и кеш отключен – creavery

Смежные вопросы