2015-11-29 91 views
0

我剛剛在新服務器上移動了我的WordPress博客。我重新配置了nginx conf文件,前端工作很好。 但是,當我嘗試訪問mywebsite.com/wp-admin區域時,我得到一個無限重定向循環,但如果我添加index.php(mywebsite.com/wp-admin/index.php)它的作品。我拉我的頭髮,因爲我不明白爲什麼Nginx的行爲如此當訪問wp-admin時,WordPress無限重定向循環

我已經看到這樣的問題在論壇上,但在我的情況下,conf文件似乎是正確的(它與我的老服務器)

我也停用了所有的插件(以防萬一)和我有相同的行爲

在這裏您可以鰭我的nginx的conf文件

server { 
    listen 80; 
    server_name mywebsite.com www.mywebsite.com; 
    root /home/mywebsite; 
    index /index.php; 
    access_log /var/log/nginx/www.mywebsite.com.access.log; 
    error_log /var/log/nginx/www.mywebsite.com.error.log; 
    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). 
    # Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban) 
    location ~ /\. { 
    deny all; 
    } 

    # Deny access to any files with a .php extension in the uploads directory 
    # Works in sub-directory installs and also in multisite network 
    # Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban) 
    location ~* /(?:uploads|files)/.*\.php$ { 
    deny all; 
    } 

    # WordPress single site rules. 
    # Designed to be included in any server {} block. 

# This order might seem weird - this is attempted to match last if rules below fail. 
# http://wiki.nginx.org/HttpCoreModule 
location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 

# Add trailing slash to */wp-admin requests. 
rewrite /wp-admin$ $scheme://$host$uri permanent; 

# Add trailing slash to */wp-admin requests. 
#rewrite /wp-admin$ $scheme://$host$uri/ permanent; 
# Directives to send expires headers and turn off 404 error logging. 
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { 
     access_log off; log_not_found off; expires max; 
} 

# Uncomment one of the lines below for the appropriate caching plugin (if used). 
#include global/wordpress-wp-super-cache.conf; 
#include global/wordpress-w3-total-cache.conf; 

#ss all .php files onto a php-fpm/php-fcgi server. 
location ~ [^/]\.php(/|$) { 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_split_path_info ^(.+?\.php)(/.*)$; 
    if (!-f $document_root$fastcgi_script_name) { 
     return 404; 
    } 
    # This is a robust solution for path info security issue and works with "cgi.fix_pathinfo = 1" in /etc/php.ini (default) 
    #fastcgi_index /index.php; 
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/mywebsite/dynamic$fastcgi_script_name; 
    include /etc/nginx/fastcgi_params; 
# fastcgi_intercept_errors on; 
} 

謝謝你的幫助

回答

0

服務器上已經安裝了其他的wordpress實例。您需要ISPConfig重寫nginx的指令爲:

location/{ 
       try_files $uri $uri/ /index.php?$args; 

       # Add trailing slash to */wp-admin requests. 
       rewrite /wp-admin$ $scheme://$host$uri/ permanent; 

       location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ { 
        expires max; 
        log_not_found off; 
       } 
       # Deny public access to wp-config.php 
       location ~* wp-config.php { 
        deny all; 
       } 

} 

還包括子文件夾相同。通常它的ISPConfig路徑是/home/admispconfig/ispconfig/lib/config.inc.php或者你可以在你的服務器上搜索

+0

嗨,謝謝你的時間,沒有我的服務器上沒有其他wordpress實例。我試圖在$ host $ uri後添加「/」,但是我仍然面臨同樣的問題:(任何想法? – mahieddine

+0

httpd log說什麼? – Ghayel