问题描述
server { listen 80; server_name 域名已隐藏; index index.html index.htm index.php; root /home/wwwroot;# 这一段有什么问题吗 怎么不起作用 location /app/ {if ($http_user_agent ~* 'MicroMessenger') { set $notweixin 1;}if ($notweixin) { return 404;} } location ~ .*.(php|php5)?$ {fastcgi_pass unix:/dev/shm/php-cgi.sock;fastcgi_index index.php;include fastcgi.conf; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; } location ~ .*.(js|css)?$ { expires 7d; }}
问题解答
回答1:直接在 if ($http_user_agent) 里 return 404 不行吗?
回答2:正则匹配优先级高于路径匹配,也就是说如果你url路径后缀是php的话,是匹配不到的
回答3:location ^~ /app/
这样呢?