【发布时间】:2015-10-05 01:15:07
【问题描述】:
过去几天我一直在努力让它正常工作,但我做不到。
(stackoverflow 不允许我发布两个以上的实际链接——忽略反斜杠)
通常的结果是example\.net和www.example\.net会重定向到http\s://example.net,而http\s://www.example\.net不会重定向到http\s://example.net,还有一个常见的情况是来自浏览器的消息,声称页面没有正确重定向。
我正在尝试做的是绝对强制所有请求转到 http\s://example.net$request_uri。
example\.net => http\s://example\.net
www.example\.net => http\s://example\.net
https://www.example\.net => http\s://example\.net
nginx 站点配置:
upstream backend {
server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
server_name www.example\.net example.net;
return 301 http\s://example\.net$request_uri;
}
server {
listen 443 ssl default_server;
server_name example\.net;
include snippets/snakeoil.conf;
root /var/www/html/example;
charset utf-8;
index index.php;
access_log /var/log/example-access.log;
error_log /var/log/example-error.log;
location / {
try_files $uri $uri/ @extensionless-php;
index index.php;
}
location ~ .php {
try_files $uri =404;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
谁能告诉我我做错了什么?
【问题讨论】: