我的网站是一个搜索引擎,如果您使用正斜杠键入search.php,它将显示与常规网址相同的结果。例如:
常规网址: http://domain.com/search.php?query=keyword&select=all
堆叠网址:
http://domain.com/search.php/search.php?query=keyword&select=all
http://domain.com/search.php/search.php/search.php?query=keyword&select=all
我可以继续添加search.php /并且它将始终有效。
如何才能使用常规网址时才能使用它? .htaccess也许?
另一件事是我的search.php在根目录中,而不是在“搜索”子文件夹中。有人有什么想法吗?
编辑: 此外,如果有人见过这个,并有同样的问题。我将AcceptPathInfo Off添加到我的.htaccess中,似乎解决了这个问题。
答案 0 :(得分:3)
这不是'堆叠',但PATH_INFO正在发挥作用。 /search.php/anything-你喜欢执行search.php,并传递任何你喜欢的PATH_INFO值。看看disabling it in apache。
或者,您可以重定向search.php,如果它具有$ _SERVER的非空值['PATH_INFO']
如果您正在访问/search.php/并且您的表单提交“search.php”,我相信您会看到此行为。如果这是原因,您应该将表单的操作更改为/search.php。
答案 1 :(得分:0)
删除search.php