Pro*_*ink 5 rewrite ssl nginx redirect
我试图将访问我网站管理部分的任何人重定向到它的 HTTPS 版本。目前的重写规则如下:
server {
listen 80;
server_name domain.com;
location / {
index index.php index.html;
root /home/domain.com/public;
}
#Redirect Admin requests to secure server
location /www/admin/ {
rewrite ^/(.*) https://domain.com$1 permanent;
}
}
Run Code Online (Sandbox Code Playgroud)
此规则的问题在于它仅转发http://domain.com/www/admin到 HTTPS -http://domain.com/www/admin/index.php例如,不会重定向。知道如何纠正这个问题以便以下任何内容/www/admin也被重定向吗?
阅读 AlexD 链接的维基条目中的四个规则。正则表达式位置(如您的 PHP 位置)优先于普通静态位置。为防止出现这种情况,您需要^~在静态位置使用该标志:
location ^~ /www/admin/ {
rewrite ^ https://domain.com$request_uri? permanent;
}
Run Code Online (Sandbox Code Playgroud)
编辑:另外,你不应该在 location 设置你的根/。在服务器中设置它并让您的所有位置继承该设置。参见陷阱和常见错误1.2
| 归档时间: |
|
| 查看次数: |
9925 次 |
| 最近记录: |