gpt4 book ai didi

php - 添加从 $ 到 $.php 的重写后 nginx CSS 中断

转载 作者:可可西里 更新时间:2023-11-01 00:57:37 32 4
gpt4 key购买 nike

如果我将以下行添加到我的 nginx 配置中,它将破坏我的网站并且将在没有 CSS 的情况下运行:

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|svg|xml)$ {
access_log off;
expires 30d;
}

location / {
try_files $uri $uri/ $uri.php =404;
rewrite ^/(.+)$ /$1.php last;
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

如果我评论重写条件,一切都会正常进行。

我该怎么做才能使重写条件和 css 样式表都起作用?

编辑:我遇到了一个新问题,现在所有像 test.php 这样的文件都可以在不写 .php 的情况下正常工作,但是像 users/ 这样的文件夹> 不起作用,我仍然收到 找不到文件,通常它应该从文件夹中获取 index.phpindex.html,我怎样才能提供这两种功能?将 .php 添加到文件并使用文件夹中的 inde.php/html

最佳答案

您可以通过将 location/ block 替换为以下两个位置 block 来分离 try_files 和重写:

location / {
try_files $uri $uri/ @rewriterules;
}

location @rewriterules {
rewrite ^/(.+)$ /$1.php last;
}

这样 try_files 先执行,如果没有找到文件,则进行重写并将 .php 添加到请求中,然后由 .php 位置 block 执行,该 block 应该不需要修改。

关于php - 添加从 $ 到 $.php 的重写后 nginx CSS 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36970765/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com