そこで私は、自分のサイトを次のような方法で機能させようとしてきました。
example.com の場合は example.com/index.html が表示され、
example.com/test の場合は example.com/test.html
などが表示されます。
現在の設定ファイルは次のようになります:
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/html;
index index.html index.php;
location / {
try_files $uri.html $uri $uri/ @htmlext;
}
location ~ \.html$ {
try_files $uri =404;
}
location @htmlext {
rewrite ^(.*)$ $1.html last;
}
error_page 404 /404.html;
}
昨日はグーグルでいろいろ調べたのですが、うまくいきませんでした。よろしくお願いします!
答え1
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/html;
index index.html index.php;
location / {
try_files $uri $uri.html $uri/ /index.html;
}
error_page 404 /404.html;
}
答え2
以下の設定により、次のようになります。
curl http://example.com/test
--> 出力: test.html の内容
curl http://example.com/
--> 出力: index.html の内容
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/html;
index index.html index.php;
location /test {
try_files $uri.html $uri $uri/;
}
location / {
try_files $uri.html $uri $uri/;
}
location ~ \.html$ {
try_files $uri =404;
}
error_page 404 /404.html;
}