我有点迷失在这里。在我的nginx conf文件中,我想要一个规则说明:
if $request_uri does not contain following words (css|images|js) then rewrite all to /index.php
这是我得到的,但它不起作用:
if ($request_uri ~ !(images|css|js)) {
rewrite $ /index.php;
}
我认为正则表达式不匹配?
编辑:这是解决方案
if ($request_uri !~* (images|css|js)) {
rewrite $ /index.php;
}
答案 0 :(得分:1)
最好将所有静态内容放在目录中。
-static
|--images
|--css
|--js
server {
server_name www.foo.com;
root /your_nginx_root/;
location / {
index index.php;
}
location /static {
add_header Cache_control "public";
expires max;
}
error_page 301 302 400 401 402 403 404 405 /index.php;
error_page 406 408 409 410 411 412 413 414 /index.php;
error_page 415 416 495 496 497 500 501 502 /index.php;
error_page 503 504 507 /index.php;
}
* 编辑: *试试这个
if ($request_uri !~* (images|css|js)) {
rewrite $ /index.php;
}