【发布时间】:2014-03-07 03:56:45
【问题描述】:
我有example.com/page.php?username=test 之类的网址。我想将此网址重写为:example.com/test 仅当测试遵循以下正则表达式:/^[0-9a-zA-Z_-]{1,35}+$/,否则为 404 页面。
【问题讨论】:
标签: url-rewriting nginx
我有example.com/page.php?username=test 之类的网址。我想将此网址重写为:example.com/test 仅当测试遵循以下正则表达式:/^[0-9a-zA-Z_-]{1,35}+$/,否则为 404 页面。
【问题讨论】:
标签: url-rewriting nginx
试试这个:
# output: example.com/test
rewrite ^/([A-Za-z0-9_]+)$ /page.php?username=$1;
更新:
{1,35} 这个表达式允许 1 到 35 个字符
{20} 必须正好是 20 个字符
+ 至少包含 1 个字符
正确的完全重写规则:
# output: example.com/test
rewrite "^/([A-Za-z0-9_]{1,35})$" /page.php?username=$1;
【讨论】: