エイリアスを設定して、誰かがにアクセスしたときに/phpmyadmin/
、nginxが/home/phpmyadmin/
通常のドキュメントルートからではなくエイリアスを取得しようとしています。ただし、URLをプルアップするたびに、fastcgiを介してプルされていないすべてのアイテムに404が表示されます。fastcgiは正常に動作しているようですが、残りは動作していません。strace
他のすべてを通常のドキュメントルートからプルしようとしていると言われていますが、その理由を理解できません。誰かが洞察を提供できますか?
これが私の設定の関連部分です:
location ~ ^/phpmyadmin/(.+\.php)$
{
include fcgi.conf;
fastcgi_index index.php;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name;
}
location /phpmyadmin
{
alias /home/phpmyadmin/;
}
nginxを初めて使用するapacheの長いユーザーとして、これは本当に奇妙で不必要に複雑であることがわかりました。その理由を理解するために、ドキュメントを数時間かけて調べました。誰かがこの動作を説明できますか?エイリアスはそれだけである必要があります-ロケーションのエイリアス。
—
tu-Reinstate Monica-dor duh 2014年
私の知る限りそれを理解するよう、エイリアスを使用すると、末尾を省略した場合、ノートがいることを、「ちょうどこと」であり、
—
スコットスティーブンス
/
別名にとlocation
要求して、ディレクティブ/phpmyadminfile
実際にあなたを取得します/home/phpmyadminfile
。質問の設定が機能しない理由については、私には正しいように見えるので、location
意図しないときに一致する別のディレクティブが表示されていないのではないかと思います。この場合、alias
末尾がlocation
プレフィックスで終わるため、nginxのドキュメントではroot /home;
代わりにを使用することを推奨しています。