我們最近設置了一個新的服務器。這是一個自定義的PHP MVC框架,這是在根目錄坐鎮的.htaccess:wordpress/wp-admin nginx和apache,試圖下載文件
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule \.(ico|css|jpeg|jpg|gif|png|js|pdf)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]
</IfModule>
有一個名爲博客的根文件夾的目錄。這是wordpress安裝的地方。
我們一直在使用Apache的一切,一切正常。然而,我們獲得了更多的流量和現在使用的nginx服務器靜態內容,與Apache服務一切
Apache的配置:
<VirtualHost *:8080>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com example.com
DocumentRoot /srv/www/example.com/public_html/
ErrorLog /srv/www/example.com/logs/error.log
CustomLog /srv/www/example.com/logs/access.log combined
<IfModule mpm_itk_module>
AssignUserId webadmin www-data example
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
rewritecond %{http_host} ^www.example.com [nc]
rewriterule ^(.*)$ http://example.com$1 [r=301,nc,qsa]
</IfModule>
</VirtualHost>
nginx的配置:
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
root /srv/www/example.com/public_html;
index index.php;
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~* ^.+\.(?:js|css|jpe?g|htc|xml|otf|ttf|eot|woff|gif|png|svg|ico|pdf|html|htm)$ {
access_log off;
expires 30d;
tcp_nodelay off;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 45s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
}
location/{
try_files $uri @proxy;
}
location @proxy {
include /etc/nginx/proxy_params;
proxy_pass http://127.0.0.1:8080;
}
location ~ /\.ht {
deny all;
}
}
一切都在博客上作品正確。你可以去家裏WordPress的網頁,博客,發表評論等
但是,只有這是行不通的事情是WordPress的可溼性粉劑管理員
當我們試圖去這個頁面:例子。 COM /博客/可溼性粉劑管理員
瀏覽器下載的源代碼爲wp-login.php中
我不知道爲什麼發生這種情況,我很茫然。在試圖配置nginx時,我曾經簡要地看過這個,它與index.php有關係嗎?
任何人都有任何想法。
的博客目錄,包含了所有標準的WordPress安裝,包括爲WordPress
PHP默認的.htaccess安裝,就像我說的一切工作正常,除了可溼性粉劑管理員,它看起來像它去WP -login,在這種情況下,nginx/apache會嘗試下載實際的文件。
這可能是一個啞劇問題我期待到它
我不認爲這是一個MIME問題。我包含了nginx 1.1.19附帶的默認MIME。我認爲這是一個.htaccess/index.php錯誤,雖然我不確定。 PHP絕對至少安裝了apache模塊,就像我說的Nginx沒有提供php,它將所有php請求傳遞給apache。目前的網站正在運行,目前正在服務於我們的發言請求。唯一不起作用的是wp-admin。用戶可以再次查看該博客,包括帖子,發佈評論等。 – user1050544
當您轉到/ wp-admin /目錄時,您會發送什麼腳本?像'/ login.php'這樣的東西?我在想,也許'.htaccess'不會進入/ wp-admin /。再一次,我對mod_rewrite或Nginx不是很熟練,所以如果這是一個愚蠢的問題,請原諒我。 – duper51
它看起來像重定向到wp登錄,然後由於某種原因下載其內容。它基本上是下載wp-login.php文件,它只包含該頁面的php代碼。它很奇怪。 WordPress的根目錄中的.htaccess看起來並不像它做任何瘋狂的事情。我害怕改變它,因爲一切工作 – user1050544