Ubuntu
下載 PHP 文件而不是使用 nginx try_files 執行
我正在使用 Ubuntu 14.10、nginx 1.6.2、php 5.5.12。我有一個這樣的網站設置:
server { root /usr/share/nginx/www/oliviataussig; index index.php; server_name oliviataussig.com www.oliviataussig.com; location / { try_files $uri $uri/ /index.php =404; } location ~ \.php$ { try_files $uri =404; include fastcgi.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } }
當我轉到首頁(index.php)時,它工作正常。但是,當我點擊頁面上的任何連結(這是一個類似 WordPress 的 CMS)時,我想退回到
/index.php
,它會這樣做,但index.php
會被下載而不是執行。我該如何解決?
正如 Hrvoje 建議的那樣,Wordpres -> Nginx codex 給出了大多數可能情況的範例(http://codex.wordpress.org/Nginx)
在您的情況下,配置文件應如下所示:
server { root /usr/share/nginx/www/oliviataussig; index index.php; server_name oliviataussig.com www.oliviataussig.com; location / { try_files $uri $uri/ /index.php?$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent; # Pass all .php files onto a php-fpm/php-fcgi server. location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } include fastcgi.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } }