Apache2,Ubuntu,/ etc / apache2 / sites -available / default.conf
只有1号需要别名,2号不需要。 我需要一个AliasMatch正则表达式,用@ /#省略任何url,否则将$ 1传递给new / path / $ 1
我尝试过以下方法:第一种方法重定向1和2,因为(。*)。第二个根本不起作用。第三个也不起作用,但我试图匹配字母数字字符,默认情况下省略#,它也不起作用。
AliasMatch "(?i)^/(.*)$" "/new/path/$1" AliasMatch "(?i)^((?!#).)*$" "/new/path/$1" AliasMatch "^/[a-zA-Z0-9_-]+$" "/new/path/$1"
如何在仍然允许url 1适当别名的情况下省略url 2?
答案 0 :(得分:1)
试试这个正则表达式:^[^#]+$
或者这个:^.*?/[^#]+$
他们很容易理解。
但是,我不确定你到底要捕捉的是什么。您似乎知道如何使用捕获组,因此您可以添加一些。或者,如果您不知道,如果您想要正则表达式中的所有内容,则可以使用$0
。
编辑:
尝试:^[^/]*/([^#]+)$
这个会在最后一次斜线后切断所有内容:^[^/]*/([^#]+)/[^#/]+$
这个获取第一个和第二个斜杠之间的内容:^[^/]*/([^#/]+)/