我有一个包含这些内容的.htaccess文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([^/\.]+)$ index.php?string=$1&match=all [L]
所以当我输入:domain.com/test 该页面重定向到 domain.com/index.php?string=test&match=all
但是,如果我想访问此页面:domain.com/test#sub1
页面重定向到 domain.com/index.php?string= 测试& match = all
代替 domain.com/index.php?string= test#sub1 & match = all
我该如何处理?
答案 0 :(得分:1)
锚点/哈希仅供浏览器使用。服务器将不会看到对这些请求的请求,因为这样的请求将是无效的。 (没有“test#sub1”文件,只有“test”文件。)它无法知道你只是想要访问一个锚而不是试图访问一个不存在的文件,所以这样的信息未传递到Web服务器。
编辑:此外,通过单个php文件重定向所有内容对我来说似乎是个弊端。也许这里有一些特别的东西让它成为一个有信誉的方法。