2013-06-27 2 views
0

У меня есть сайт, который изменил домены. У меня есть 4 конкретных страницы, которые необходимо перенаправить на их новые эквиваленты в новом домене. Кроме этого, я хочу, чтобы весь домен перенаправлялся на новый.htaccess перенаправляет домен, но не отдельные страницы?

Вот мой код:

Options +FollowSymLinks 
RewriteEngine on 

RewriteBase/

# Redirect individual pages. 
RewriteRule http://olddomain.net/subdirectory/subpage1/$ https://www.newdomain.com/newsub/newpage1/ [R=301,L] 

RewriteRule http://olddomain.net/subdirectory/subpage2/$ https://www.newdomain.com/newsub/newpage2/ [R=301,L] 

RewriteRule http://olddomain.net/subdirectory/subpage3/$ https://www.newdomain.com/newsub/newpage3/ [R=301,L] 

RewriteRule http://olddomain.net/subdirectory/subpage4/$ https://www.newdomain.com/newsub/newpage4/ [R=301,L] 

RewriteRule (.*) http://www.newdomain.com/ [R=301,L] 

Я также попытался написания RewriteRules, как это, но он имеет тот же эффект:

RewriteRule ^/subdirectory/subpage1/$ https://www.newdomain.com/newsub/newpage1/ [R=301,L] 

Это только кажется, чтобы выполнить последнюю строку, которая он всегда перенаправляется на http://www.newdomain.com/, независимо от того, какой был введен URL olddomain.net. Как перенаправить отдельные URL-адреса?

РЕШИТЬ: Вот то, что я в конечном итоге с помощью:

RewriteEngine On 

RewriteCond %{REQUEST_URI} ^/subdirectory/subpage1/$ 
RewriteRule ^.*$ https://www.newdomain.com/newsub/subpage1/ [R=301,L] 

RewriteCond %{REQUEST_URI} ^/subdirectory/subpage2/$ 
RewriteRule ^.*$ https://www.newdomain.com/newsub/subpage2/ [R=301,L] 

RewriteCond %{REQUEST_URI} ^/subdirectory/subpage3/$ 
RewriteRule ^.*$ https://www.newdomain.com/newsub/subpage3/ [R=301,L] 

RewriteCond %{REQUEST_URI} ^/subdirectory/subpage4/$ 
RewriteRule ^.*$ https://www.newdomain.com/newsub/subpage4/ [R=301,L] 

Redirect 301/http://www.newdomain.com/ 

ответ

0

RewriteRule действует на пути не полные Урии, второй метод, который вы пытались отлично работает, просто удалите ведущий слеш:

RewriteRule ^subdirectory/subpage1/?$ https://www.newdomain.com/newsub/newpage1/ [R=301,L] 

RewriteRule ^subdirectory/subpage2/?$ https://www.newdomain.com/newsub/newpage2/ [R=301,L] 

RewriteRule ^subdirectory/subpage3/?$ https://www.newdomain.com/newsub/newpage3/ [R=301,L] 

RewriteRule ^subdirectory/subpage4/?$ https://www.newdomain.com/newsub/newpage4/ [R=301,L] 

RewriteRule (.*) http://www.newdomain.com/ [R=301,L] 
+0

Спасибо за ответ! В конце концов я выяснил другое решение до вашего ответа: P – James