我已在一个单独的目录中安装了一个项目,以使该项目在多个域上可用
location ^~ /phpRedisAdmin/css/ {
alias /home/phpRedisAdmin/css/;
}
location ^~ /phpRedisAdmin/js/ {
alias /home/phpRedisAdmin/js/;
}
location ^~ /phpRedisAdmin/images/ {
alias /home/phpRedisAdmin/images/;
}
为了防止为每个项目子目录声明一个位置指令,是否可以声明一个可以处理所有可能别名的位置指令呢?
我正在寻找这样的东西(我不知道如何在别名指令中检索括号中的内容):
location ^~ /phpRedisAdmin/(css|images|js)/ {
alias /home/phpRedisAdmin/>> what should I insert here? <</;
}
问题解决了,我最终使用了这个解决方案:
location ^~ /phpRedisAdmin/(css|images|js)$ {
alias /home/phpRedisAdmin/$1;
}
答案 0 :(得分:0)
您可以尝试以下
location ~* /phpRedisAdmin/(?P<folder>css|images|js)/ {
alias /home/phpRedisAdmin/$folder;
}
答案 1 :(得分:0)
您不应该使用start sshd...
/bin/sh: 0: Can't open /bin/which
/etc/init.d/ssh: 424: .: Can't open /lib/lsb/init-functions.d/20-left-info-blocks
start serf...
Error connecting to Serf agent: dial tcp 127.0.0.1:7373: connection refused
指令,其中alias
指令就足够了。一种解决方案是为所有低于root
的URI定义location
块。例如:
/phpRedisAdmin
如果您需要在此location ^~ /phpRedisAdmin/ {
root /home;
location ~ \.php$ {
...
}
}
中执行PHP脚本,请添加嵌套位置(如上所示)。
如果您必须使用带有location
的正则表达式location
,则需要捕获URI的整个其余部分。例如:
alias
有关详细信息,请参阅this document。