我怎么能.htaccess 301将所有页面/文件(除了一个)重定向到新域名?
我已经创建了一个.htaccess文件,该文件成功地将旧域(www.olddomain.com)上的大多数不同页面和文件重定向到我的新域(www.newdomain.com)。
但是,我需要一个页面才能重定向到新网站,该页面是Google验证.html文件:
http://www.olddomain.com/googleverification.html
我附上了粘贴在下面的文件(.htaccess)中最相关的部分:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !.(php|html?|jpg|gif|png|pdf|tiff|bmp|ico|gz|zip|xml|txt)$
RewriteRule ^(.*)([^/])$ http://www.newdomain.com/$1$2/ [L,R=301]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
答案 0 :(得分:2)
将您的第一条规则保留为:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
RewriteCond %{THE_REQUEST} !/googleverification\.html [NC]
RewriteRule ^ http://www.newdomain.com%{REQUEST_URI} [L,R=301,NE]
答案 1 :(得分:0)
我一直在不同的论坛上问同样的问题,另一种解决方案也有效。
我只想在这里分享。
RewriteCond {HTTP_HOST} !^www.newdomain.com$
RewriteCond %{REQUEST_URI} !^/googleverification.html
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]