2017-12-14 4 views
0

なんらかの理由で、Nginxはアドレスバーから.php拡張子を削除することを拒否したり、拡張子のないファイルを.phpファイルとして扱わないことを認識しません。それはしかし、何もしないnginxの設定で.phpをリダイレクトできない

server { 
    listen  80; 
    server_name www.example.com; # I put my domain name here 
    root   /var/www/html; 
    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log; 

    location/{ 
     # http://www.tweaktalk.net/60/nginx-remove-php-file-extension-from-url 
     try_files $uri $uri/ @extensionless-php; 
     index index.html index.htm index.php; 
    } 

    location ~ \.php$ { 
     try_files $uri =404; 
     include  /etc/nginx/fastcgi_params; 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    } 

    location @extensionless-php { 
     rewrite ^(.*)$ $1.php last; 
    } 
} 

私はこのようになります/etc/nginx/conf.dへの.confファイルを追加しました。そして、はい、私はそれをexample.comとして残しました。私はそれを変更しました。

nginx -t -c /etc/nginx/nginx.conf(これを含む)を実行すると、問題なく終了します。

私には何が欠けていますか?

+0

ログにエラーがありますか?私はあなたの設定をドッカーの 'amontaigu/nginx-php'イメージで試してみました。唯一の違いは、 'fastcgi_pass unix:/var/run/php-fpm.sock; 'です。これは問題ではありません。 – zstate

+0

@zstateいいえ、私は特定の場所で生成されたエラーログも取得していません。アクセスログだけが生成されます。 *また、*私はどこでも私のサーバー上でphp-fpm.sockを見つけることができません... – ColonelHedgehog

答えて

0

サイトの「デフォルト」設定を変更するだけで、シンボリックリンクを作成してそこに既存のコードを貼り付けることができました。仕事をしているようだ!

関連する問題