пытаясь заставить работать mod_rewrite - PullRequest
1 голос
/ 27 февраля 2011

У меня проблема с переключением CMS со старого на новый, поэтому я пытаюсь правильно перенаправить URL-адреса.

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

#-1) http://www.mysite.com/?dispatch=search_data&features=hash_tag
#-2) http://www.mysite.com/index.php?dispatch=search_data&features=hash_tag

По сути, оба они идентичны, за исключением того, что первый не имеет index.php в URL.

Я получил следующее, чтобы код работал частично:

 RewriteCond %{QUERY_STRING} dispatch=(.*)
 RewriteRule ^$ http://www.mysite.com/? [L,R=301]

Приведенный выше код работает для # -1 (когда нет index.php), но когда есть index.php, он не работает.

Любая помощь / руководство очень ценится.

Спасибо

__ _ __ _ __ _ ___ UPDATE _ __ _ __ _ __ _ __ _ __

В соответствии с запросом целевой URL должен быть следующим: http://www.mysite.com/

Ответы [ 3 ]

2 голосов
/ 27 февраля 2011

Что значит "работает"?

Вероятно, вам следует опубликовать пример того, как вы хотите, чтобы новый URL выглядел, учитывая старый URL.

Но в любом случае, частью вашей проблемы является то, что строка RewriteRule специально исключает index.php и любую другую страницу на вашем сайте.

То, что вы написали, в основном означает:

if the query string contains "dispatch=...":
    redirect requests FOR THE HOME PAGE ONLY (^$) to http://www.mysite.com/
1 голос
/ 27 февраля 2011
RewriteCond %{QUERY_STRING} dispatch=(.*)
RewriteRule ^(index.php)?$ http://www.mysite.com/? [L,R=301]
0 голосов
/ 27 февраля 2011

Вы пытались изменить вторую часть, чтобы включить часть "index.php"?

RewriteRule ^$ http://www.mysite.com/index.php? [L,R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...