用破折号替换所有正斜杠
Replace all forward slashes with dashes
SO 上有一些 similar questions,但 none 适用于此特定场景。
我想用破折号替换 URL 路径中的所有正斜杠,使用 mod_rewrite
。
所以https://whosebug.com/foo/bar/baz should redirect to https://whosebug.com/foo-bar-baz.
路径中可以有任意数量的段(在正斜杠之间)。
我认为解决方案涉及 N flag,但我所做的每一次尝试都会导致无限循环。
您可以在根 .htaccess 中使用这 2 个规则:
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+)/([^/]+)/?$ - [NE,L,R=302]
RewriteRule ^([^/]+)/(.+)$ -
这会将 example.com/foo/bar/baz/abc/xyz/123
重定向到 example.com/foo-bar-baz-abc-xyz-123
SO 上有一些 similar questions,但 none 适用于此特定场景。
我想用破折号替换 URL 路径中的所有正斜杠,使用 mod_rewrite
。
所以https://whosebug.com/foo/bar/baz should redirect to https://whosebug.com/foo-bar-baz.
路径中可以有任意数量的段(在正斜杠之间)。
我认为解决方案涉及 N flag,但我所做的每一次尝试都会导致无限循环。
您可以在根 .htaccess 中使用这 2 个规则:
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+)/([^/]+)/?$ - [NE,L,R=302]
RewriteRule ^([^/]+)/(.+)$ -
这会将 example.com/foo/bar/baz/abc/xyz/123
重定向到 example.com/foo-bar-baz-abc-xyz-123