【发布时间】:2012-02-18 05:02:00
【问题描述】:
这不起作用:
RewriteRule ^([^/]+)([/]?)$ /index.cgi?l=$1 [NC,L]
这不起作用:
RewriteRule ^([^/]+)/?$ /index.cgi?l=$1 [NC,L]
.htaccess 文件中没有其他规则。这是完整版本:
Options -Indexes
Options ExecCGI
AddHandler cgi-script .cgi .pl .q
ErrorDocument 500 /error500.cgi
ErrorDocument 404 /error404.cgi
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+)/?$ /index.cgi?l=$1 [NC,L]
这确实有效,但这不是我想要的。
RewriteRule ^([^/]+)/([^/]+)$ /index.cgi?l=$1&a=$2 [NC,L]
我希望第一个斜杠和第二个目录都是可选的。为什么问号不会像它应该的那样匹配 0 或 1 个实例?吓死我了……
【问题讨论】:
-
“不起作用”到底是什么意思?从头开始,解释你想要做什么。
-
抱歉,我正在尝试将“目录”名称作为变量传递给 CGI 脚本。但是第二个“目录”可能会或可能不会像前面的正斜杠一样被请求。
标签: regex mod-rewrite