我的htaccess如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
当用户输入http://example.com/thequery/时,这就是他们在地址栏中看到的内容,PHP得到" / thequery /"作为想要的行为的查询字符串。但是,如果用户在服务器响应后立即在地址栏中输入example.com?thequery,他们会看到example.com/?thequery和PHP得到" thequery"作为查询字符串,该部分(查询)是可以的,但我不能为我的生活弄清楚如何删除或阻止" /"从第二个示例的地址栏中的url,同时保留第一个示例的正确行为,以便用户在第二个示例中始终只看到example.com?thequery。有人可以帮忙。
答案 0 :(得分:0)
域名之后总是需要您正在谈论的斜杠。如果您请求domain.tld?something
,则始终会被重定向到domain.tld/?something
,而不会失败。
你无法改变这种行为 - 这是故意的。
如果 abs_path不存在于URL中,它必须以" /"什么时候 用作资源的Request-URI(第5.1.2节)。