2012-01-23 85 views
1

也许有人可以帮我解决这个问题。我想删除php扩展。 (我想用nginx使用grabaperch)。这是Apache重写规则:删除php文件的扩展名为nginx/php-fpm

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php 
RewriteRule (.*)\.php$ /$1/ [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule (.*)$ /$1/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*)/$ $1.php [L] 

Redirect 301 /portrait /portrait/zu-meiner-person.php 

我在ubuntu 11.04上使用nginx 0.8.54和php5-fpm。

像这样/fol​​der/file.php的URL应该看起来像这个/文件夹/文件/。像这样/文件夹的网址/应显示的index.php

+0

可能重复的[Nginx:设置默认文件扩展名](http://stackoverflow.com/questions/7760883/nginx-setting- a-default-file-extension) –

+0

这已经在http://stackoverflow.com/a/7761779回答 – hasanatkazmi

回答

0

大量的试验和错误后,我好不容易才落得一个工作solution.Check低于

try_files $uri $uri.php; 
rewrite ^(.*)$ $uri.php; 

会虽然很好,如果有人知道如何在uri结尾添加'/'。 而不是example.com/products.php成为example.com/products/