6

在我的 .htaccess 中,我有一个重写规则,它$_GET从一个干净的 url 读取值。对于 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_attvar 的一部分。只排除斜线的表达式是什么?(或任何其他 mod_rewrite 约定来完成此操作)

4

1 回答 1

9

[^/]将包括任何字符,除了/
[^/]*将包括任意数量的字符/

在行动应该是这样的:

RewriteRule ^advertise/([A-Za-z0-9]+)/([^/]+)/?$ advertise/?a=b&content=$1&content_att=$2 [L]
于 2013-01-12T04:14:40.280 回答