我使用的是ubuntu,nginx,php,mysql。
我想要UserDir http://example.com/~userID
我编辑vi nginx默认文件
location ~ ^/~(.+?)(/.*)?$ {
alias /home/$1/public_html$2;
index index.html index.htm;
autoindex on;
}
我不明白这些线......
location ~ ^/~(.+?)(/.*)?$
alias /home/$1/public_html$2;
什么是~ ^/~(.+?)(/.*)?$
?
什么是$1, $2
?
答案 0 :(得分:1)
〜 - 区分大小写的匹配 其中url以斜线和波浪号(/〜)开头(^)然后括号点(。)任何带有一个或多个出现(+)的符号,无论是(?),右括号,是否匹配$ 1,然后$ 2是下一个括号匹配斜杠(/),任何符号(。)出现零或多次很容易不存在(?)和结束($)
所以,如果网址看起来像www.example.com/~tengiz/qw123
,则$ 1将等于“~tengiz”,$ 2为“/ qw123”
和表达式实际上应该是这样的我假设:
^\/~(.+?)\/(.*)?$