帮助客户部署具有大量页面的新网站。 我最近发现我可以创建一个带有301重定向的重写器。
我们为旧网站的网址上的标准重写创建了一个大型htaccess,以便在新网站上显示,但我们需要将它们转换为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 :(得分:0)
您需要在重写标记中删除,
之后的空格。 Apache在解析指令和参数方面非常愚蠢,所以当它看到那个空格时,它认为[R=301,
和L]
是独立的参数和呕吐:
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