search.php will stack and show multiple times
my site is a search engine and and if you type in search.php with the forward slashes it will show results the same as the regular url. for example:
regular url: http://domain.com/search.php?query=keyword&select=all
stacking url: http://domain.com/search.php/search.php?query=keyword&select=all
http://domain开发者_如何学运维.com/search.php/search.php/search.php?query=keyword&select=allI can literally keep adding search.php/ and it will always work. How can I make it only work when the regular url is used? .htaccess maybe?
Another thing is my search.php is in the root directory and not in a "search" subfolder. Anyone have any ideas?EDIT: Also if anyone else ever sees this and is having the same problem. I added AcceptPathInfo Off to my .htaccess and it seemed to fix it.
It's not 'stacking' as such, but PATH_INFO is coming into play. /search.php/anything-you like will execute search.php, and pass anything-you-like as the PATH_INFO value. Take a look at disabling it in apache.
Alternatively, you could redirect search.php if it has a non-null value for $_SERVER['PATH_INFO']
If you're accessing /search.php/ and your form submits to "search.php", I believe you'll see this behaviour. You should probably change the form's action to /search.php, if this is the cause.
in you search box remove the search.php
精彩评论