在根级别的 .htaccess 文件中,我尝试了这个 301 重定向代码,它可以工作:-
redirect 301 /en/about/product.html http://mydomain.com/shop?
但是,当我尝试复制句子时,对于其他页面,它总是以服务器错误 500 告终。
实际上我应该如何在 .htaccess 中包含 10 条重定向规则?
尝试这个
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]
好吧,为了获得最佳可移植性,我建议您完全按照 Apachemod_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 视为真正的 URL:
RedirectMatch 301 ^/the_old_([^.]+)\.htm$ http://example.com/the-new-$1.htm
这会将表单的所有URL重定向"/the_old_<something>.htm"
到"/the-new-<something>.htm"
仅使用一个指令而不是 50 个指令。
如果您的旧 URL 具有这种共性,您可以利用它来减少您需要编写、测试和维护的重定向指令的数量。
希望能帮助到你..