<p><br>
2012/12/03 7:09 "adambenayoun" <<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>>:<br>
><br>
> Hey all,<br>
> I have a server with nginx 1.2.5 and php-fpm 5.3.3 installed. I have a web<br>
> application built on top of zend framework and the routing passes everything<br>
> thru a index.php file.<br>
> So while <a href="http://www.domain.com/contact">http://www.domain.com/contact</a> works -<br>
> <a href="http://www.domain.com/index.php/contact">http://www.domain.com/index.php/contact</a> will fetch the same content aswell<br>
> and I'd like to get rid of it for SEO purpose.<br>
><br>
> Here's my configuration - right now there's a if statement that takes care<br>
> of removing the index.php however I know that if is evil and therefore<br>
> shouldn't be used. On top of that the only instance that won't work well is<br>
> <a href="http://www.domain.com/index.php">http://www.domain.com/index.php</a> which in this case instead of redirecting to<br>
> <a href="http://www.domain.com">www.domain.com</a> will just display a blank page with a 301 status code.<br>
></p>
<p>location = /index.php { return 301 /; }<br>
location ~ ^/index\.php(/.*) { return 301 $1; }</p>
<p>Note that the $1 may or may not work as I never tested that.</p>
<p>> On top of that - if you guys spot any problem with my config - I'd love to<br>
> hear what I am doing wrong and what can be improved.<br>
><br>
><br>
> server {<br>
> listen *:80;<br>
> server_name <a href="http://domain.com">domain.com</a>;<br>
> return 301 $scheme://<a href="http://www.domain.com">www.domain.com</a>$request_uri;<br>
> }<br>
> server {<br>
> listen 80;<br>
> listen 443 ssl;<br>
> server_name <a href="http://www.domain.com">www.domain.com</a>;<br>
> ssl_certificate /etc/nginx/certs/www.domain.com.crt;<br>
> ssl_certificate_key /etc/nginx/certs/www.domain.com.key;<br>
> error_log /var/www/domain/logs/error_log warn;<br>
> root /var/www/domain/html/http;<br>
> index index.php;<br>
> client_max_body_size 150m;<br>
> error_page 403 404 <a href="http://www.domain.com/notfound">http://www.domain.com/notfound</a>;<br>
><br>
> if ( $request_uri ~ "^/index.php" ) {<br>
> rewrite ^/index.php(.*) $1 permanent;<br>
> }<br>
> location / {<br>
> rewrite ^/wanted/feed$ /feed?filter=wanted permanent;<br>
> try_files $uri $uri/ /index.php?$args;<br>
> }<br>
> location /min {<br>
> try_files $uri $uri/ /min/index.php?q=;<br>
> }<br>
> location /blog {<br>
> try_files $uri $uri/ /blog/index.php?q=$1;<br>
> }<br>
> location /apc {<br>
> try_files $uri $uri/ /apc.php$args;<br>
> }<br>
> location ~ \.php {<br>
> include /etc/nginx/fastcgi_params;<br>
> fastcgi_param HTTPS $https if_not_empty;<br>
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br>
> fastcgi_param PATH_INFO $fastcgi_script_name;<br>
> fastcgi_param SERVER_NAME $http_host;<br>
> fastcgi_pass <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;<br>
> }<br>
> location ~* ^.+\.(ht|svn|git)$ {<br>
> deny all;<br>
> }<br>
><br>
> # Static files location<br>
> location ~*<br>
> ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$<br>
> {<br>
> expires max;<br>
> }<br>
> }<br>
><br>
> Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?2,233476,233476#msg-233476">http://forum.nginx.org/read.php?2,233476,233476#msg-233476</a><br>
><br>
> _______________________________________________<br>
> nginx mailing list<br>
> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</p>