彼らはnginxのとの両方.html
と.php
ファイルのファイル拡張子なしhttp://example.com/careers
に行くのリンクをクリックしたときに、私は、このファイルを提供しますどのように、のは、私はcareers.php
という名前のファイルがあるとしましょうか?nginxのURLからファイル拡張子を削除するにはどうすればよいですか?
解決策はクエリ文字列を考慮する必要があることに注意してください。例えば、URLは
http://example.com/careers?lang=fr
とすることができる。また、サブディレクトリも試してみることをお勧めします。例えば;サーバーのフォルダ構造が
/views/careers.php
の場合、http://example.com/careers
はまだ/views/careers.php
となります。
私の現在の構成は、次のようになります。
server {
listen 80 default_server;
root /usr/share/nginx/landing-page;
index index.php index.html;
server_name example.com;
location/{
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
う 'try_files $ウリル$ uri.php /views/$uri.php $ URI/= 404;私の第二の点のための'の仕事?また、これはクエリ文字列を許可しますか? –
@EdwardMaxedonはい、クエリ文字列は影響を受けません。 2番目のポイントは、 '$ uri'に先行するスラッシュが含まれていることを考慮に入れてください。 – Vasfed
ファイルを.phpファイルとして処理するのではなく、ページにアクセスしたときにダウンロードすることに気付きました。 'location〜\ .php $'ブロックも更新する必要がありますか? –