Here are the two rewrite rules:
This one works
rewrite ^/knowledgebase/([0-9]+)/[a-z0-9_-]+.html$ /./knowledgebase.php?action=displayarticle&id=$1 last;
This one doesn't
rewrite ^/announcements/([0-9]+)/[a-z0-9_-]+.html$ /./announcements.php?id=$1 last;
There is no difference between the two as far as I can see. The url to be rewritten for announcements is:
/announcements/2/New-Site-Design.html
And should be rewritten to:
/announcements.php?id=2
I really can't see how the announcements one doesn't work compared to the knowledgebase one. Any tips would be greatly appreciated.
=== Added config file - my domain
#HTTP
server {
listen 80;
server_name portal2.website.co.uk website.co.uk www.website.co.uk;
access_log /var/log/nginx/website.access_log;
error_log /var/log/nginx/website.error_log;
root /var/www/website.co.uk/www;
index index.php index.htm index.html;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/website.co.uk/www$fastcgi_script_name;
include fastcgi_params;
}
rewrite ^/announcements$ /./announcements.php last;
rewrite ^/announcements/([0-9]+)/[a-z0-9_-]+.html$ /./announcements.php?id=$1 last;
rewrite ^/knowledgebase$ /./knowledgebase.php last;
rewrite ^/knowledgebase/([0-9]+)/[a-z0-9_-]+.html$ /./knowledgebase.php?action=displayarticle&id=$1 last;
rewrite ^/knowledgebase/([0-9]+)/([^/]*)$ /./knowledgebase.php?action=displaycat&catid=$1 last;
rewrite ^/downloads$ /./downloads.php last;
rewrite ^/downloads/([0-9]+)/([^/]*)$ /./downloads.php?action=displaycat&catid=$1 last;
}
In the config file above I have replaced references to my domain with 'website'
=== Edit
Here is the error log line
2012/06/28 11:40:04 [error] 29095#0: *7 open() "/var/www/website.co.uk/www/announcements/6/Moving-to-a-new-server.html" failed (2: No such file or directory), client: 92.232.232.25, server: portal2.website.co.uk, request: "GET /announcements/6/Moving-to-a-new-server.html HTTP/1.1", host: "portal2.website.co.uk"
So the rewrite rule is just not kicking in for /announcements/id/page-title.html
announcements.php?id=$1
rewrite. Thanks for any help