Перенаправить URL с помощью RewriteRule, если в php url есть параметры? - PullRequest
2 голосов
/ 25 января 2010

Я пытаюсь использовать правила перезаписи в моем .htaccess, чтобы перевести пользователя со старой ссылки на временную новую ссылку (это не постоянный новый сайт, поэтому я не хочу перенаправления 301)

Следующее работает для всех html-страниц, а также для страниц php без параметров, но не обрабатывает последний пример - страницу php с параметрами. Обратите внимание, что структура каталогов отличается в новом домене, но параметры URL-адреса точно такие же. Есть ли что-то, что я могу сделать с регулярными выражениями, чтобы включить rewriterule? У меня нет особого опыта написания собственных выражений reg, поэтому я не уверен, с чего начать. Спасибо!

Мой файл .htaccess:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
Options -MultiViews
Options +FollowSymlinks
RewriteEngine on
RewriteRule invest/index.html http://example.org/new_file_structure/invest/index.html
RewriteRule index-old.html http://example.org/index.php
RewriteRule invest/i2/ap/row_I2_i_ap1.php http://example.org/new_file_structure/i2/ap/row_I2_i_ap1.php

##The following doesn't work:
RewriteRule subpages/view.php?d=i1_014 http://example.org/2010/view.php?d=i1_014 

Спасибо, Джен

Ответы [ 2 ]

5 голосов
/ 26 января 2010

Вам необходимо использовать RewriteCond для определения строки запроса:

RewriteCond %{QUERY_STRING} d=(.+)

А затем вам нужно использовать обратную ссылку RewriteCond в виде %n:

RewriteRule subpages/view.php$ http://example.org/2010/view.php?d=%1
1 голос
/ 25 января 2010

Все параметры GET хранятся в

%{QUERY_STRING}

Вы можете добавить это к своему URL перенаправления.

RewriteRule subpages/view.php?d=i1_014 http://example.org/2010/view.php?d=i1_014&%{QUERY_STRING}

Но если вы не хотите 301, почему вы указываете полный URL? Я думаю, что таким образом вы применяете 301. Почему бы просто не использовать /2010/view.php....?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...