1

私の問題は次のとおりです。「きれいなリンク」でNginxでWordpressを使用しています。ポート 88 と 1234 で他の 2 つのサービスも実行しており、サブドメイン bugs.mydomain と mail.mydomain を作成したいと考えています。私は場所/でproxypassを行いましたが、それはメインディレクトリに対してのみ機能し、ドメインの後にあるものはすべてWordpressの「プリティリンク」メカニズムに陥っています。これを解決する方法はありますか?以下の私の設定ファイル: サーバー設定:

server {
    listen   <IP>:80;

    root /usr/share/nginx/www/domain;
    index index.html index.htm index.php;

    server_name domain www.domain;

    location / {
            try_files $uri $uri/ /index.html;
            if ( $host ~ "bugs.domain" ) {
                proxy_pass http://domain:88;
            }

            if ( $host ~ "mail.domain" ) {
                proxy_pass http://domain:1234;
            }
    }

    location /doc/ {
            alias /usr/share/doc/;
            autoindex on;
            allow 127.0.0.1;
            deny all;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }

    location ~ /\.ht {
            deny all;
    }

    include /home/domain/public_html/nginx.conf;
    }

指定したドメインの構成 (Wordpress を使用):

#First there is many rewrites for the W3TC plugin, like minification, caches etc
if ($host ~* ^www\.(.*))
{
    set $host_without_www $1;
    rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
}
#
# unless the request is for a valid file, send to bootstrap
if (!-e $request_filename)
{
    rewrite ^(.+)$ /index.php?q=$1 last;
}

これで、domain:88 または domain:1234 と入力すると機能します。bugs.domain と入力すると Web サイトが読み込まれますが、URL が bugs.domain/somapath であるため CSS や画像が機能せず、これは Wordpress ブートストラップに分類されます。アイデアが尽きた。

4

2 に答える 2

1

ですから、問題は私が思っていたものとはまったく異なっていました。この行で失敗していました:

try_files $uri $uri/ /index.html;

問題は、ファイル index.html が存在せず、index.php しかなかったということでした。それを変更すると、問題は解決しました。

于 2013-06-07T08:38:06.493 に答える