目标:匹配网址并将其重写为查询字符串。
问题:看起来替换字符串中的“#”(及其后面的所有内容)都被忽略了。
这就是我所拥有的:
RewriteEngine On
RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+) web2.html#list?d=$1&n=$2 [L,NE]
这将转到web2.html
,但不会应用网址参数(d= & n=
)。
目标是允许像somewehere.com/55c26838e4b087b032b432c4/1/
这样的网址触发这样的查询:somewehere.com/web2#list?d=54668494e4b09ffed41ff167&n=1
答案 0 :(得分:2)
哈希标记仅在客户端使用。尝试重定向您的请求,并指定R
标记。
RewriteRule ^([^/]+)/([^/]+) web2.html#list?d=$1&n=$2 [R=301,NE,L]
如果这对您不起作用,请查看HTML5 History API。我认为pushState
方法可以帮助你。