我有一个域名,其中包含安装在根目录中的商店和名为/ web /
的子文件夹中的WordPress/public_html/ # shop
/web/ # wordpress
我正在将商店搬到新域名。 WordPress仍然存在。
我希望301重定向所有商店页面但排除WordPress请求。这部分有效。
# Redirect shop to new domain
RewriteEngine on
RewriteCond %{REQUEST_URI} !^web($|/)$
RewriteRule (.*) http://www.new-domain.co.uk/$1 [R=301,L]
以下类似的主题引导我进入上述解决方案。
我现在要做的是让访问旧域的访问者只需重定向到/ web /。我尝试过添加:
RewriteCond %{REQUEST_URI} !^/index\.php$
但这不能排除根索引文件。
我想我在那里需要另一个RewriteRule。
答案 0 :(得分:0)
经过更多的反复试验后,我得出了以下对我有用的结果。
# Redirect shop to new domain
RewriteEngine on
RewriteCond %{REQUEST_URI} !^web($|/)$
RewriteCond %{REQUEST_URI} !^/$
RewriteRule (.*) http://www.new-domain.co.uk/$1 [R=301,L]
# Redirect root to /web/
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) http://www.current-domain.co.uk/web/$1 [R=301,L]
我编辑了第一个RewriteRule并排除了根“/”
然后我创建了第二个RewriteRule,只将根移动到“/ web /”