在根目录中,任何重定向到localhost/
的地址都只是重定向到index.php,但是如果您进入localhost/phone
子目录,也将有一个index.php页面,并且在键入{ {1}}您不会重定向到index.php页面。不知道为什么。这是我的服务器配置。
localhost/phone/
我试图指向目录并为index.php添加默认值,并且它可以正常工作,但是现在server {
listen 80;
listen [::]:80 default_server;
server_name localhost;
charset UTF-8;
index index.html index.php;
location / {
root xyz;
proxy_set_header Connection "";
if ($request_uri ~ ^/(.*)\.html$) { return 302 /$1; }
try_files $uri $uri/ $uri.html $uri.php?$args;
rewrite ^/(.*)/$ /$1 permanent;
location ~* \.(jpg|jpeg|png|gif|ico|css|js|ttf|webp)$ {
expires 365d;
}
}
中的所有url都显示为空白。
/phone/
“显示空白”表示根据错误日志显示404错误
2019/05/08 23:40:58 [错误] 26240#14076:* 1 CreateFile() “ C:\ xyz \ nginx / xyz / phone / index”失败(2:系统找不到 指定的文件),客户端::: 1,服务器:本地主机,请求:“ GET / phone / index HTTP / 1.1“,主机:” localhost“
现在index.php显示404错误,我在做什么错?即使文件在那里
答案 0 :(得分:1)
如果要避免所有URI都尾随/
,但仍测试index.html
和index.php
,则应避免使用index
伪指令和{{ 1}}字词和$uri/
指令。
一种方法是使用命名位置来测试PHP文件。此位置需要您的try_files
配置。
例如:
fastcgi