301 重定向.htaccess
Posted
技术标签:
【中文标题】301 重定向.htaccess【英文标题】:301 redirect .htaccess 【发布时间】:2011-05-01 13:11:30 【问题描述】:如何进行 301 重定向,例如:子目录 /Blog/
到 /blog/
与 .htaccess?
【问题讨论】:
【参考方案1】:Redirect 301 /Blog /blog
或者使用http://www.htacces-s-redirect.net/index.php之类的东西
【讨论】:
【参考方案2】:马上想到的方式:
RewriteEngine on
RewriteBase /path/to/your/web/app
RewriteRule ^Blog$ blog [R=301,L]
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L]
可能有比 mod_rewrite 更好的方法,而且我不能 100% 确定外部重定向是否会正常工作——您可能需要完整的 URL——但你就可以了。
【讨论】:
【参考方案3】:这是最简单的.htaccess方案,放在/.htaccess中:
Redirect 301 /Blog /blog
但它确实是有限的。如果您想捕获所有可能的 CaSe 拼写错误,并转发任何其他路径信息(例如 /Blog/foo/bar.html),请改用它:
RedirectMatch 301 ^/[Bb][Ll][Oo][Gg](?<!blog)(/.*)?$ /blog$1
更多选项,full .htaccess generators 可用。
或者您可以使用ModRewrite-based rules 以获得最大的灵活性,但这可能有点矫枉过正。
【讨论】:
您的第二个示例也将在任何位置匹配/blog
。
非常正确 - 我急于点击添加答案太快了。感谢您指出!正则表达式现已修复。
是的,这个确实好得多,尽管总是有一句名言:“有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题。 "以上是关于301 重定向.htaccess的主要内容,如果未能解决你的问题,请参考以下文章