在更新我的网站时,我正在尝试将子域名重定向到我最近制作的静态WordPress页面:stories.amcorbin.com - > amcorbin.com/stories
但是,我在该子域上有特定的页面,已经链接到其他地方且不受我的控制,我不希望导致链接断开。示例:stories.amcorbin.com/baseofthecomet.html
我设法让htaccess重定向子域,但我不能让它应用异常条件。我就是这样的地方:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/images/ [NC]
RewriteCond %{REQUEST_URI} !^/baseofthecomet.html [NC]
RewriteCond %{REQUEST_URI} !^/digital-witnesses.html [NC]
RewriteCond %{REQUEST_URI} !^/inheritance.html [NC]
RewriteCond %{REQUEST_URI} !^/intelpost.html [NC]
RewriteCond %{REQUEST_URI} !^/silver.html [NC]
RewriteCond %{REQUEST_URI} !^/silverandgold.html [NC]
RewriteCond %{REQUEST_URI} !^/the-fairy-woods.html [NC]
RewriteRule ^(.*)$ http://www.amcorbin.com/stories$1 [L,R=301]
Redirect 301 stories.amcorbin.com http://amcorbin.com/stories/
我已经完成了对RegEx的一些调整,但我对此非常不满意。我也想过,哦,我会移动或复制我想要保留的所有页面......除了有自己的问题。
作为htaccess的完全新手,我很惊讶我已经设法得到了尽可能多的东西,但我的智慧结束了。任何人都可以帮助我摆脱最后一道障碍吗?
答案 0 :(得分:1)
您不需要使用重定向301,只有R = 301的RewriteRule就足够了。
我看到你在你的htaccess中使用了^ /,%{REQUEST_URI}在这个字符串的开头没有包含/。
所以请尝试:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/images/ [NC]
RewriteCond %{REQUEST_URI} !^/baseofthecomet.html [NC]
RewriteCond %{REQUEST_URI} !^/digital-witnesses.html [NC]
RewriteCond %{REQUEST_URI} !^/inheritance.html [NC]
RewriteCond %{REQUEST_URI} !^/intelpost.html [NC]
RewriteCond %{REQUEST_URI} !^/silver.html [NC]
RewriteCond %{REQUEST_URI} !^/silverandgold.html [NC]
RewriteCond %{REQUEST_URI} !^/the-fairy-woods.html [NC]
RewriteRule ^(.*)$ http://www.amcorbin.com/stories/$1 [L,R=301]
谢谢。