htaccess 301使用正则表达式重定向
问题描述:
帮助客户部署其拥有大量页面的新网站。 我最近发现我可以用301重定向创建一个rewriterule。htaccess 301使用正则表达式重定向
我们有一个很大的htaccess,用于从旧网站的url到标准rewriterule出现在新网站上,但我们需要它们变成301重定向到他在网站上的新网址结构,否则我们将会复制内容。
例如:
RewriteEngine On
RewriteRule ^cs_AI_Adobe_CC_Design_Combo.html$ courses/adobe-design-combo [NC,L]
我们要创建成一个301吗?我们已经尝试了以下哪些方法不起作用:
RewriteEngine On
RewriteRule ^cs_AI_Adobe_CC_Design_Combo.html$ courses/adobe-design-combo [R=301, L]
想知道我哪里出错了吗?
我们也有更大更复杂的规则作为重写而不是重定向。
在此先感谢!
答
您需要删除重写标志中的,
之后的空格。 Apache的非常愚蠢的有关分析指令和参数,所以当它看到的空间,它假定[R=301,
和L]
是分开的参数和pukes:
RewriteEngine On
RewriteRule ^cs_AI_Adobe_CC_Design_Combo.html$ courses/adobe-design-combo [R=301,L]
你也可以只使用mod_alias中:
Redirect 301 /cs_AI_Adobe_CC_Design_Combo.html /courses/adobe-design-combo
尝试:' RewriteRule^cs_AI_Adobe_CC_Design_Combo \ .html $ courses/adobe-design-combo [R = 301,L]' – anubhava 2014-10-10 16:24:49