0

我有一个包含这些内容的 .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= test &match=all

而不是domain.com/index.php?string= test#sub1 &match=all

我该如何进行?

4

1 回答 1

1

锚点/哈希仅由浏览器使用。服务器不会看到这些请求,因为这样的请求是无效的。(没有“test#sub1”文件,只有“test”文件。)它无法知道你只是想访问一个锚点而不是试图访问一个不存在的文件,所以这些信息不会传递到 Web 服务器。

编辑:此外,通过单个 php 文件重定向所有内容对我来说似乎是渎职行为。也许这里发生了一些特别的事情,这使它成为一种有信誉的方法。

于 2012-11-19T03:05:47.447 回答