簡體   English   中英

Nginx重寫等效於Apache重寫

[英]Nginx rewrite equivalent of apache rewrite

我正在嘗試在新的Nginx服務器上更改配置,使其與我當前的Apache設置匹配。 目前,我正在使用此htaccess文件:

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*) index.php?url=$1 [L,QSA]  

我發現了一個可以將其“翻譯”成Nginx等效文件的轉換器。 我嘗試了以下方法:

location / {
    if (!-e $request_filename){
     rewrite ^/(.*) /index.php?url=$1 break;
    }
    try_files $uri $uri/ =404;
}

但是,當我嘗試設置像這樣的url查詢http://domain.tld/something時,我的php文件就被返回並下載了,這不應該發生。

當像一個網址我希望發生的是//domain.tld/something:HTTP輸入的它就會像對待HTTP://domain.tld/index.php URL =東西

有人可以告訴我我在做什么錯嗎?

與Apache不同,nginx並非開箱即用即可運行PHP。 您需要設置一個處理程序來處理php文件,否則nginx會像處理任何常規文件一樣為它們提供服務。

請參閱: Nginx下載php而不是運行它

另外:請閱讀有關使用fast-cgi運行phpNGINX文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM