Перезапись URL в htaccess - PullRequest
0 голосов
/ 30 июня 2010

Я только что перестроил сайт, который в данный момент находится по адресу

http://domainnamehere.com/v2

Существующий сайт находится по адресу

http://domainnamehere.com/

Мне нужно настроить перенаправление, чтобы при переходе на старый сайт он перенаправлялся на новый. Я сделал это в файле htaccess:

Redirect /index.html http://domainnamehere.com/v2/

Но это только перенаправляет домашнюю страницу, а не остальную часть сайта. У меня также есть другой каталог, который связан с отдельным доменом. Приведенный выше код htaccess перенаправляет http://anotherdomain.com на http://domainnamehere.com/v2. Я не хочу, чтобы он перенаправлял другие доменные имена. Причина, по которой он перенаправляет другое имя домена, состоит в том, что файлы находятся в каталоге на домене nameherehere.com. Я надеюсь, что это имеет смысл!

Если кто-то перейдет на http://domainnamehere.com/somethinghere, я также хочу, чтобы он перенаправил на страницу ошибки 404, которая будет расположена по адресу http://domainnamehere.com/v2/somethinghere

В принципе, мне нужен правильный код htaccess для этой ситуации!

Ответы [ 2 ]

2 голосов
/ 30 июня 2010
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domainnamehere\.com [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/v2/$1 [R=301,L]

Примечание: jfrobishow технически ответил на это первым, это просто исправление.

Редактировать: Добавлен необязательный www.

0 голосов
/ 30 июня 2010

Это должно переслать {что будет после слэша} в / v2 / {что будет после слэша}

RewriteCond %{HTTP:Host} ^domainnamehere\.com$
RewriteRule /(.*) domainnamehere\.com/v2/$1

РЕДАКТИРОВАТЬ: это для перезаписи isapi, но синтаксис аналогичен, если вы используетеmod_rewrite.

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