在我的.htaccess中,我有一个重写规则,它从一个干净的url读取$_GET值。对于url中的一个部分,我允许所有字符(.*)都成为var的一部分。唯一的问题是当我从twitter跟踪指向我的站点的链接时,它在url中包含了最后一个“/”。

RewriteRule ^advertise/([A-Za-z0-9]+)/(.*)/?$ advertise/?a=b&content=$1&content_att=$2 [L]

www.mysite.com/advertise/content/content_att工作得很好-但是www.mysite.com/advertise/content/content_att/尝试将“/”作为content_att变量的一部分包含进来。表达式将是什么来仅排除斜杠?(或任何其他mod_重写约定以实现此目的)

最佳答案

[^/]将包括除/以外的任何字符
[^/]*将包含不/的任意数量的字符
实际上应该是这样的:

RewriteRule ^advertise/([A-Za-z0-9]+)/([^/]+)/?$ advertise/?a=b&content=$1&content_att=$2 [L]

08-07 22:27