我正在尝试将没有#
的每个网址重定向到#
之后的/path/
。
示例:
此网址:https://www.example.com/path/test/test
需要重定向到此网址:https://www.example.com/path/#/test/test
所以我写了这个重定向匹配:
RedirectMatch permanent ^/path/(?!#)(.*)$ /path/#/$2
但它不起作用。
浏览器向我显示此消息:ERR_TOO_MANY_REDIRECTS
答案 0 :(得分:2)
您可以在您的网站根目录中使用此规则.htaccess:
RewriteEngine On
RewriteRule ^/?(path)/(.+)$ /$1/#/$2 [L,NE,NC,R=301]
它会将/path/test/test
重定向到/path/#test/test
。
无需检查#
中是否存在RewriteRule
,因为客户端浏览器无论如何都不会将#
之后的任何部分发送到网络服务器。
答案 1 :(得分:0)
你可以试试这个:
^/path/([^#]+)$ /path/#/$1
捕获的组([^#] +)表示任何字符串,最少1个字符,不包含'#'