Okay, I am using CodeIgniter which likes to use URL rewrites. I can turn
it off, but don’t want to. I was able to deny direct access to index.php
and at one point I was able to have the URL rewrite accept
index.php/non-url/but/url-looking-data which it passed to index.php
My problem is that I have no idea what I am doing, I am just copying
examples and thus I got one working, but when I tried the other I lost
the first fix.
Let my start simple (for my sake) I see that one person said that all
rewrites should be done at the server level instead of the location
level… verification of this? Is that true?
What does !-e $request_filename due?
Why is it better than try_files (which I saw one person use) ?
Exactly what I am trying to do is hide index.php in the URL, but still
send all url requests to index.php WITH the full url so that CodeIgniter
can disect the url and get the paramaters for index.php to process.
Any help is appreciated. I will try to get better questions as I learn
about this.
Even more confused… I commented out my entire default file except
server {} and IT STILL LOADS the index.php file WITH the PHP fast
CGI??!!! So basically my default file was doing NOTHING.
My current file:
CAPS ARE MY PRIVATE VALUES with the EXEPCTION of SCRIPT_FILENAME which
appears to be a constant or variable
server {
listen 90;
server_name SERVER
access_log PATH_TO_LOG
error_log PATH_TO_LOG
root /var/www;
index index.php index.html
rewrite_log on;
if ($request_ur ~* ^(/welcome(/index)?|index(.php)/?$))
{
rewrite ^(.*)$ / permanent;
}
if ($request_uri ~* index/?$)
{
rewrite ^/(.*)/index?$ /$1 permanent;
}
if (!-d $request_filename)
{
#some sites use * and some use + what is the difference?