2012-01-23 110 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/