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的主要内容,如果未能解决你的问题,请参考以下文章

301 重定向.htaccess

.htaccess 中的 301 重定向

.htaccess 301 重定向,保留路径

.htaccess 中的 301 重定向错误,显示“Bots Get Naked Version”而不是重定向

高分求301重定向的htaccess规则写法

仅针对域的 Htaccess 301 重定向