Hi,
Using nginx 1.2.1 on Debian Wheezy 64 bits.
My wordpress need rewrite, it gave me this:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
I’ve tried to convert it with this website: http://winginx.com/htaccess.
The result is:
nginx configuration
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
I’ve put it into /etc/nginx/conf.d/doinalefort.fr.conf like this:
server {
listen 80;
listen 443 ssl;
# server_name 176.31.122.26;
server_name doinalefort.fr www.doinalefort.fr;
root /var/www/doinalefort.fr;
msie_padding on;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
index index.php;
fastcgi_index index.php;
client_max_body_size 8M;
client_body_buffer_size 256K;
location ~ \.php$ {
include fastcgi_params;
# Assuming php-fastcgi running on localhost port 9000
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
}
}
And restarted nginx, but it give me this error:
Restarting nginx: nginx: [emerg] location “/” is outside location
“.php$”
in /etc/nginx/conf.d/doinalefort.fr.conf:44
nginx: configuration file /etc/nginx/nginx.conf test failed
And idea?
Cordially, Koshie
–
Sorry for my english, I’m trying the best in each e-mail writing. Tell
me
if I’m not clear enough.
This mail account is only for list reading, to contact me send an e-mail
at [email protected]
On Sun, Mar 03, 2013 at 01:52:48PM +0100, GASPARD kvin wrote:
Hi there,
Using nginx 1.2.1 on Debian Wheezy 64 bits.
My wordpress need rewrite, it gave me this:
nginx configuration
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
See Pitfalls and Common Mistakes | NGINX
Particularly the “Front Controller Pattern based packages” section.
Probably a single extra try_files line will work for you.
f
Francis D. [email protected]
Thanks for your reply.
location / {
f
This is my new config file :
server {
listen 80;
listen 443 ssl;
# server_name 176.31.122.26;
server_name doinalefort.fr www.doinalefort.fr;
root /var/www/doinalefort.fr;
msie_padding on;
ssl_certificate /etc/nginx/certs/auction-web.crt;
ssl_certificate_key /etc/nginx/certs/auction-web.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
index index.php;
fastcgi_index index.php;
client_max_body_size 8M;
client_body_buffer_size 256K;
location ~ \.php$ {
include fastcgi_params;
# Assuming php-fastcgi running on localhost port 9000
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
}
By checking the URL you gave me it seems to be the good choice for
Wordpress (3.5.1). I’ve restarted nginx, then I’ve this kind of
permalink
in Wordpress now: http://doinalefort.fr/%year%/%postname%/ and with the
hello world topic it looks like this :
http://doinalefort.fr/2013/hello-world/
As you can see, I’ve a 404 error, in /var/log/nginx/error.log I’ve:
2013/03/03 19:34:31 [error] 27463#0: *252
“/var/www/doinalefort.fr/2013/hello-world/index.php” is not found (2: No
such file or directory), client: 80.239.242.158, server: doinalefort.fr,
request: “GET /2013/hello-world/ HTTP/1.1”, host: “doinalefort.fr”
And in access.log:
80.239.242.158 - - [03/Mar/2013:19:35:28 +0100] “GET /2013/hello-world/
HTTP/1.1” 404 142 “-” “Opera/9.80 (X11; Linux x86_64; Edition Next)
Presto/2.12.388 Version/12.14”
An idea?
Also, I’ve googled a little more and I finally found this blog:
But honestly I don’t have enough Nginx’s knowledge to know if this guy
have write something serious. If you can tell me if it’s okay it’ll
maybe
solve a lot of problem before they appear.
Cordially, Koshie
–
Sorry for my english, I’m trying the best in each e-mail writing. Tell
me
if I’m not clear enough.
This mail account is only for list reading, to contact me send an e-mail
at [email protected]
On Sun, Mar 03, 2013 at 07:38:39PM +0100, GASPARD kvin wrote:
Hi there,
Probably a single extra try_files line will work for you.
This is my new config file :
location ~ \.php$ {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
You will probably find things much easier when you fully understand what
is written at Module ngx_http_core_module
http://doinalefort.fr/2013/hello-world/
One request is handled in one location{}. That request does not match
this location, and so will not be handled in this location.
The try_files directive should be in a location that does match –
perhaps “location / {}”.
f
Francis D. [email protected]
Le Sun, 03 Mar 2013 19:59:17 +0100, Steve H.
[email protected] a écrit:
Why not just use the wp config examples in the docs? Both Wordpress and
nginx offer them.
Well, I forget to check that… Sorry.
Anyway, I’ve found this:
Hi there,
}
This is my new config file :
ssl_certificate /etc/nginx/certs/auction-web.crt;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_intercept_errors on;
and with the hello world topic it looks like this :
have write something serious. If you can tell me if it’s okay it’ll
nginx mailing list
[email protected]
nginx Info Page
nginx mailing list
[email protected]
nginx Info Page
–
Sorry for my english, I’m trying the best in each e-mail writing. Tell
me
if I’m not clear enough.
This mail account is only for list reading, to contact me send an e-mail
at [email protected]
Hi,
try_files $uri $uri/ /index.php?q=$uri&$args;
}
You will probably find things much easier when you fully understand what
is written at Module ngx_http_core_module
I understand a little more how it works now :).
http://doinalefort.fr/2013/hello-world/
One request is handled in one location{}. That request does not match
this location, and so will not be handled in this location.
The try_files directive should be in a location that does match –
perhaps “location / {}”.
f
I’ve created a new locations as you say and I’ve put the try_files
directive into, it works.
Cordially, Thanks !
Why not just use the wp config examples in the docs? Both Wordpress and
nginx offer them.
Steve