php - htaccess rewrite exposes real url when given existing directories -
i have rewrite rule looks this:
rewriterule ^([a-za-z0-9\-]+)\/([a-za-z0-9\-]+)/?$ /index.php?name=$1&artname=$2
when try access directory structure exists like: /pics/vikings browser url rewritten /pics/vikings/?name=pics&artname=vikings. happens if not include last / url. /pics/vikings/ not expose real url.
i have tried adding rules existing directories like:
rewriterule ^pics\/vikings/?$ /index.php i have tried adding directoryslash off suggested in rewriting url htaccess when directory exists
edit:
.htaccess file:
rewriteengine on rewriterule ^([a-za-z0-9\-]+)\/([a-za-z0-9\-]+)/?$ /index.php?name=$1&artname=$2 options -indexes errordocument 403 / errordocument 404 / errordocument 405 / errordocument 500 /
you need exclude if it's directory , safe, exclude if it's existing file (optional).
rewritecond %{request_filename} !-d rewritecond %{request_filename} !-f rewriterule ^([a-za-z0-9\-]+)\/([a-za-z0-9\-]+)/?$ /index.php?name=$1&artname=$2
Comments
Post a Comment