【发布时间】:2011-05-01 13:11:30
【问题描述】:
如何进行 301 重定向,例如:子目录 /Blog/ 到 /blog/ 与 .htaccess?
【问题讨论】:
标签: .htaccess url-redirection http-status-code-301
如何进行 301 重定向,例如:子目录 /Blog/ 到 /blog/ 与 .htaccess?
【问题讨论】:
标签: .htaccess url-redirection http-status-code-301
Redirect 301 /Blog /blog
【讨论】:
马上想到的方式:
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——但你就可以了。
【讨论】:
这是最简单的.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。