我正在尝试配置nginx从2个不同的位置提供2个不同的PHP脚本.配置如下.
我有一个Laravel安装,/home/hamed/laravel
它public
应该在其中提供目录.
我有一个Wordpress安装/home/hamed/www/blog
.
这是我的nginx
配置:
server { listen 443 ssl; server_name example.com www.example.com; #root /home/hamed/laravel/public; index index.html index.htm index.php; ssl_certificate /root/hamed/ssl.crt; ssl_certificate_key /root/hamed/ssl.key; location /blog { root /home/hamed/www/blog; try_files $uri $uri/ /blog/index.php?do=$request_uri; } location / { root /home/hamed/laravel/public; try_files $uri $uri/ /index.php?$request_uri; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.hamed.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
问题是当尝试访问wordpress部分时example.com/blog
仍然调用laravel installtion接管请求.
现在我尝试root
在location
块内替换指令alias
,但无济于事.
根据本指南有index
指令或try_files
内部location
触发器内部重定向,我怀疑导致此行为.
请有人帮我解决这个问题吗?