我想重写所有请求/index.php
,除了/css/*
和/js/*
。
这是我的原始配置
location / {
try_files $uri /index.php$is_args$args;
}
可以,但是会让我直接访问所有文件。我试过这个
location / {
rewrite ^(.+)$ /index.php break;
}
但无法解决 PHP 解析中断等奇怪错误。在我让/index.php
重写工作后,我想我应该做一些类似的事情location /css/ { .. }
,但我不太确定。
有办法解决这个问题吗?谢谢。
答案1
实际上,在我发布这个问题后立即就找到了答案。
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /css/ {}
location / {
rewrite ^ /index.php last;
}
诀窍似乎是将 phplocation
置于其他内容之上。