我希望我的nginx使显示的所有URL干净。http://www.mydomain.com/indexhtml.html作为http://www.mydomain.com/indexhtmlhttp://www.mydomain.com/indexphp.php作为http://www.mydomain.com/indexphp通过一些研究,我使第一个案例奏效。它是通过以下配置完成的:location / { root html; index index.html index.htm index.php; try_files $uri.html $uri/ =404; }它适用于将indexhtml.html显示为indexhtml,但.php则没有任何反应。如果我将$ uri.html更改为$ uri.php,则它不适用于.html和.php。我已经尝试在php位置放置类似内容,但没有成功。有什么建议吗?
3 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
无需额外的块和命名的位置以及所有内容。还将index线移到位置块外
server {
index index.html index.php;
location / {
try_files $uri $uri/ $uri.html $uri.php$is_args$query_string;
}
location ~ \.php$ {
try_files $uri =404;
# add fastcgi_pass line here, depending if you use socket or port
}
}
请记住,如果您在同一文件夹中有一个文件夹和一个具有相同名称的文件,例如/folder/xyz/并且/folder/xyz.php如果该文件夹xyz包含index.php或index.html,则将无法运行php文件,请记住这一点。
- 3 回答
- 0 关注
- 908 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消