过去几个小时我一直在努力寻找一种合适的方法来从通过https提供的特定网址中删除 index.php 。我想删除index.php的原因是,当一个url通过https提供时,它工作正常,没有问题。但是,当任何人在网址index.php的末尾键入内容时, https 可以更改为 http ,因此SSL在该网址上无用,因为加密信息可以'在那种情况下。
这是我之前为使SSL工作而提出的问题,但不包括通过https My question about SSL for specific url提供的index.php
所以现在我有两个选择,我不知道如何使用它们。第一种是隐藏index.php,用于通过https提供的URL。第二个是对我在my previous question中使用的代码进行一些修改,以便即使在url中输入index.php也可以使用https。
任何帮助都会受到赞赏,因为我不知道如何做任何事情!!
谢谢
更新:当使用Nginx文件夹保护“auth_basic和auth_basic_user_file”时,我提供的解决方案似乎不太适用。
答案 0 :(得分:1)
令人惊讶的是,我找到了一个解决方案。我得到了第二个工作选项,而不是第一个选项,因为我有很多努力强制隐藏/删除index.php
我所要做的就是强制SSL到服务器https for index.php,而且更改很简单。
原始代码是:
server {
listen 80;
server_name example.com;
# normal http settings
location /secure_area/ {
return 301 https://$http_host$request_uri$is_args$query_string;
}
}
我得到的改变是:
server {
listen 80;
server_name example.com;
# normal http settings
location ~* ^/secure_area/ {
return 301 https://$http_host$request_uri$is_args$query_string;
}
}
所以更改是从位置/ 到位置〜* ^ /
我希望对遇到这个问题的人有用。