私たちのユーザー (Facebook のような) のための「個人用 URL」を作成できるようにしたいと思います。これはもちろん動的文字列です。それはサイトのルートにある必要があり、それが私がそれで大きな頭痛を抱えている理由です.
私が持っている要件は次のとおりです。
1. www.example.com/John.Doe が必要です (a-zA-Z0-9_- の場合もあります)。
それを次のように書き換えます。
www.example.com/profile?id=John.Doe
2.また、サイト スクリプトを拡張機能のないものにする必要があります (これは、「$uri.php$is_args$query_string;」を使用して、ここの素晴らしい人々と一緒に行うことができました):
したがって、www.example.com/login は www.example.com/login.php に移動します。
私は多くのことを試しましたが、それを機能させるための正しい式を取得できません。これが私の構成です。
location / {
try_files $uri $uri/ $uri.php$is_args$query_string;
}
location ~ \.php$ {
if ($request_uri ~ ^/([^?]*)\.php(\?.*)?$) {
return 301 /$1$2;
}
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}