【发布时间】:2021-03-10 17:32:40
【问题描述】:
这是我当前的 nginx 配置文件。
server {
listen 6063;
root /var/www/html/project;
index index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm-backend.sock;
}
rewrite ^/admin/(.*)$ /admin/index.php break;
}
对 /admin 的任何访问都将重写为 /admin/index.php。
现在由于某些原因,我必须将 css 文件夹、js 文件夹添加到 /var/www/html/project/admin/includes。
所以新的要求是任何对 /admin/includes/* 的访问都将访问 css 和 js 的真实文件。所有其他访问 /admin/*(不是 /admin/includes)将重写为 /admin/index.php。
或者我可以说如果不存在文件夹 /admin 的任何访问权限(例如 /admin/includes/css/example.css),然后重写为 /admin/index.php
谢谢,
【问题讨论】:
-
nginx 文档中有一个关于此的部分。 nginx.com/blog/creating-nginx-rewrite-rules你读过吗?从中产生了哪些尝试?
-
欲了解更多具体细节:nginx.org/en/docs/http/ngx_http_rewrite_module.html 明确地说,当我阅读您的问题时,我不知道该怎么做 - 或者在哪里可以找到此信息。我明天再来;如果没有答案,你仍然卡住,我会尝试直接回答。
-
欢迎来到 SO!为了发布问题,您应该携带最少的信息作为输入样本和预期的输出样本(如果需要),您尝试了什么以及您的研究,以显示一些努力,因为 SO 不是免费的编码服务。您尝试和研究了什么?
-
是的,我完全同意。但是在找到答案后,我确实在下面发布了我的解决方案。而且我认为我提供了有关我的问题的足够信息。
标签: php nginx url-rewriting subdirectory fastcgi