Я хочу переписать все запросы на /index.php
, Кроме /css/*
и /js/*
.
Это мой оригинальный конфиг
location / {
try_files $uri /index.php$is_args$args;
}
который работает, но позволяет мне напрямую обращаться ко всем файлам. Я пробовал это
location / {
rewrite ^(.+)$ /index.php break;
}
но не мог справиться со странными ошибками, такими как нарушение синтаксического анализа PHP. После того, как я получу /index.php
переписать работу, я полагаю, я должен сделать что-то вроде location /css/ { .. }
и т. д., но я не совсем уверен.
Есть идеи, как это решить? Спасибо.
На самом деле нашел ответ сразу после того, как разместил этот вопрос.
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;
}
Уловка заключалась в том, чтобы поставить php location
выше других.