在根级别的.htaccess文件中,我尝试了这个301重定向代码,它可以工作: -
redirect 301 /en/about/product.html http://mydomain.com/shop?
但是,当我尝试复制句子时,对于其他页面,它总是以服务器错误500结束。
实际上我应该如何包含,例如.htaccess中的10个重定向规则?
答案 0 :(得分:0)
试试这个
RewriteEngine On
RewriteRule ^/en/about/product\.html?(.*)$ http://mydomain.com/shop/?$1 [R=301,L,S=1]
#other page
RewriteRule ^/en/about/product1\.html?(.*)$ http://mydomain.com/shop1/?$1 [R=301,L]
答案 1 :(得分:0)
嗯,为了获得最佳的可移植性,我建议您完全按照Apache mod_alias
文档中的说明键入指令,否则它们是正确的。
Redirect 301 /the_old_page.htm http://example.com/the-new-page.htm
Redirect 301 /the_old_page2.htm http://example.com/the-new-page2.htm
Redirect 301 /the_old_page3.htm http://example.com/the-new-page3.htm
现在,您可能不需要50条规则。这是一个示例,将您的示例网址视为真正的URL:
RedirectMatch 301 ^/the_old_([^.]+)\.htm$ http://example.com/the-new-$1.htm
这会将"/the_old_<something>.htm"
格式的所有网址重定向到"/the-new-<something>.htm"
,只有一个指令而不是五十个。
如果您的旧网址具有此类通用性,您可以利用它来减少编写,测试和维护所需的重定向指令的数量。
希望有所帮助......