Couldn't find an answer for this on S.O. (Sorry if duplicate)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) compiler.php?id=$1
Request for //localhost/MySites/Example.com/
works on my browser.
Request for //localhost/MySites/Example.com
(no trailing slash '/
') redirects (address bar actually changes) to //localhost/MySites/Example.com/?id=Example.com
with a trailing /?id=Example.com
.
Why is it doing that? Defeats the purpose of "pretty URLs".
You can use:
DirectorySlash Off
DirectoryIndex index.php index.html
RewriteEngine on
RewriteBase /MySites/
# add a trailing slash for directories
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) compiler.php?id=$1 [L,QSA]