【问题标题】:Redirect every request ending with slash (*/) to */index将每个以斜杠 (*/) 结尾的请求重定向到 */index
【发布时间】:2014-03-02 06:05:18
【问题描述】:

stackoverflow 和其他地方有很多关于重定向的页面。但是,我找不到一个简单问题的解决方案:我希望每个以斜杠结尾的请求都有一个永久 301 重定向到 */index。

例子:

http://example.com/ - 应该重定向到http://example.com/index

http://example.com/foo/ - 应该重定向到 http://example.com/foo/index

http://example.com/foo/bar/ - 应该重定向到 http://example.com/foo/bar/index

等等

但是,不以斜线结尾的请求不应被重定向:

http://example.com/foo - 没有重定向。

http://example.com/foo/bar - 没有重定向。

【问题讨论】:

标签: apache .htaccess redirect


【解决方案1】:

试试这个,看看它对你有什么作用。

DirectorySlash Off

RewriteEngine On 
RewriteRule ^(.*?)/$ http://example.com/$1/index [R=302,L]

当您确定它适合您时,将 [R=302,L] 更改为 [R=301,L]

【讨论】:

  • 谢谢,这几乎有效。它将example.com/foo 重定向到example.com/var/www/foo/index ...
  • 好的,这对我有用:RewriteRule ^(.*?)/$ http://example.com/$1/index [R=302,L] 你想编辑你的答案,以便我可以将其标记为已接受的答案吗?
  • 是的,你也可以在 $1 前面使用 / 来解决这个问题。已编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
相关资源
最近更新 更多