Nginx fiasco
aditya a.
lists at ruby-forum.com
Fri Apr 22 12:39:37 MSD 2011
Hey guys,
I am giving out the apache rewrite config and the config i wrote for
nginx. I am not able to get the rewrite rules to work. Please help me
get rid of the problem.
Some other useful details :
1. the apache rewrite rules are of .htacces file present under a
directory admin under www. i.e the path is /var/www/admin for the
.htaccess file.
2. I placed the nginx conf rules straight under nginx.conf present
/etc/nginx/nginx.conf
3. When i installed nginx , i used the command " apt-get install nginx "
on ubuntu, so i did not activate or disable any module installation.
4. I have also installed the Perl Regular Expression Library explicitly,
so i dont think that should be an issue.
5. Another point, dont know how much useful. I am tryin to install a
classifieds module i bought named 'ikiclassifieds' . Now its
installation occurs through its own php file (install2.php) inside the
admin folder. I got to run it and it checks some settings, and if fine,
installs.
So, one of its setting's telling me that my rewrite mode is off, and i
cant understand why. The readme told me to type
http://yourdomain.com/admin/install in my browser to start installation,
so i wrote http://localhost/admin/install . Now, it doesnt show up
anything clearly proving the rewrites arent working.
Another thing that i noticed was. in the php code for installation, it
was checking if a variable 'page' in the GET part of url had value
'install' and this comes through the rewrites (refer code below). When i
tried tweaking it by passing the variable in GET myself a[/b]nd start
installation, the url changed to install.htm and it showed 404 error, so
it was to rewrite from htm to php which it didnt........................
phew..this point was a long one Tongue
--------------------------------------------------------------------------------------
Apache .htaccess config =>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /admin
RewriteCond %{REQUEST_URI} (/|\.htm|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^rss([0-9]{0,}),(.*).html$ rss.php?cat=$1 [L]
RewriteRule (.*) index.php?page=$1
RewriteRule templates\/(.*).tpl$ index.php[F]
RewriteRule templates_c\/(.*) index.php[F]
RewriteRule configs\/(.*).conf$ index.php [F]
#RewriteRule ^p-(.*).html$ index.php?page=$1 [L]
----------------------------------------------------------------------------------------------------------------
Nginx config =>
server
{
listen 80;
server_name localhost;
root /var/www/admin;
location /
{
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?page=$1 last;
break;
}
}
location ~* \.(/|\.htm|\.html|/[^.]*)$
{
try_files $uri $uri/ index.php?page=$uri;
}
location = "/install" #added this coz i thgt maybe the first wasnt being
accepted
{
try_files $uri $uri/ index.php?page=$uri;
}
location /templates/
{
rewrite ^(.*).tpl$ index.php permanent;
}
location /templates_c/
{
rewrite ^(.*) index.php permanent;
}
location /configs/
{
rewrite ^(.*).conf$ index.php permanent;
}
}
--
Posted via http://www.ruby-forum.com/.
More information about the nginx
mailing list