试着看看这是否可能。
我们有一个应用程序和一个wordpress安装。
是否可以在同一文件夹中使用2个位置,但在不同情况下。实施例..
http://domain.com/subfolder/ - 显示APP http://domain.com/subfolder/anything - 显示WP永久链接
现在,我们拥有它
http://domain.com/subfolder(没有/)显示应用
http://domain.com/subfolder/(带/)显示WP。
这确实有效,但是可以这样做,它只会显示WP如果URL包含子文件夹后的文本/ *
目前的Nginx conf:
location ^~ /knowledge {
root /opt/domain.com/public/;
try_files $uri @backend;
}
location /knowledge/ {
index index.php index.html index.htm;
root /opt;
include /etc/nginx/php-wpsc.conf;
try_files $uri $uri/ /knowledge/index.php?q=$uri&$args;
}
答案 0 :(得分:0)
显然保留WordPress的location /knowledge/
块是有意义的,因为它与大多数情况相匹配,只需要覆盖一个案例。
通过使用具有更高优先级的位置块,可以从该位置块中删除特定URI。有关详细信息,请参阅this document。
一种可能性是精确匹配位置块:
location = /knowledge/ {
rewrite ^ /knowledge last;
}
或者可能将现有的location ^~ /knowledge
块从前缀位置更改为正则表达式位置,使尾随/
可选。
location ~ ^/knowledge/? { ... }
请注意,这会更改此位置块的评估顺序,因此可能会出现需要考虑的副作用。