我需要正则表达式来更改
中的网址http://example.com/page > https://example.com/#/page
和
https://example.com/page > https://example.com/#/page
我创建了这个,我添加了80和443端口虚拟主机apache,第一个重定向工作,但第二个没有
RewriteCond %{REQUEST_URI} !^.*%23.*$
RewriteRule ^(.*)$ https://%{HTTP_HOST}#%{REQUEST_URI} [R=301,L]
答案 0 :(得分:0)
根据您的要求,您可能会变得更加复杂,但这是一个示例匹配。
^(https?:\/\/[^\/]+)\/?(.*)
您将用$ 1 /#$ 2 /
替换答案 1 :(得分:0)
您的RewriteCond失败,因为您无法使用rewriteRule操作#(fregment),因为它没有发送到服务器。如果你想重定向到#,你可以使用它:
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^ /#%{REQUEST_URI} [NE,L,R]
NE标志很重要,否则apache将#转换为%23