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

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -