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] 

想知道我哪里出错了吗?

我们也有更大更复杂的规则作为重写而不是重定向。

在此先感谢!

+0

尝试:' RewriteRule^cs_AI_Adobe_CC_Design_Combo \ .html $ courses/adobe-design-combo [R = 301,L]' – anubhava 2014-10-10 16:24:49

您需要删除重写标志中的,之后的空格。 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