Heim > Fragen und Antworten > Hauptteil
location ~ /(test1|test2|test3|test4) {
proxy_set_header Host "test.com";
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1;
}
if ($request_filename !~* ^/(.*)\.(zip|js|ico|css|php|xml|txt|html|swf|apk|ipa|plist)$) {
rewrite ^/(.*)$ /index.php last;
}
Die obige Proxy-Regel wird nicht wirksam, wenn Sie die Rewrite-Regel löschen. Liegt ein Konflikt vor? Wie kann ich es ändern?
高洛峰2017-05-16 17:28:41
rewrite
优先级较高,导致路径已经先被重写了。可以都改用location
去匹配。
location ~ /(test1|test2|test3|test4) {
proxy_set_header Host "test.com";
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
}
location ~* ^/(.*)\.(zip|js|ico|css|xml|txt|html|swf|apk|ipa|plist)$ {
rewrite ^/(.*)$ /index.php last;
}
location ~ \index.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_hide_header X-Powered-By;
}
不过确定 静态文件也要重写到 index.php
吗?