SO上有一些similar questions,但没有一个适用于此特定情况。
我想使用mod_rewrite
替换带有破折号的网址路径中的所有正斜杠。
因此https://stackoverflow.com/foo/bar/baz应重定向到https://stackoverflow.com/foo-bar-baz。
路径中可能有任意数量的段(正斜杠之间)。
我认为解决方案涉及N flag,但我所做的每一次尝试都会产生无限循环。
答案 0 :(得分:5)
您可以在根.htaccess中使用这两个规则:
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+)/([^/]+)/?$ $1-$2 [NE,L,R=302]
RewriteRule ^([^/]+)/(.+)$ $1-$2
这会将example.com/foo/bar/baz/abc/xyz/123
重定向到example.com/foo-bar-baz-abc-xyz-123