2014-01-06 3 views
1

Я думал, что это понял, но не кости ... Я не пытаюсь переписать домен, но сохранить подкаталогов пути:Htaccess переписывает весь URL и оставляя от подкаталоги

www.olddomain.com /sub/directory/page.php

К

www.newdomain.com/sub/directory/page.php

Необходимы следующие две директивы. Во-первых, это попытка выполнить вышеизложенное. Второй - вставить скрытый «index.php» перед каждым URL-адресом.

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

Curently, независимо от того, что URL я захожу на olddomain.com, она берет меня newdomain.com/index.php. Возможно, это вставка «index.php» из предыдущего сайта ... Я вставил [L], чтобы попытаться остановить разбор файла .htaccess, но это тоже не нравится. Любое направление было бы высоко оценено.

+1

Выглядит хорошо, протестируйте в другом браузере. – anubhava

ответ

1

Необходимо удалить все правила, действующие на вашем старом сайте (если сайт находится в другом месте, чем ваш новый домен), в противном случае вам необходимо убедиться, что перенаправление - это первое правило, справа под линией RewriteEngine On.

Ваше правило:

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] 

правильно. И до тех пор, пока нет ничего, он должен работать.

Убедитесь, что вы очистили кеш браузера.

+0

Спасибо, Джон Лин. – sparecycle

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