.htaccess重写规则有问题(mod rewrite)

.htaccess重写规则有问题(mod rewrite),.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我似乎无法让重写规则生效——它只是不匹配 我的url:http://www.example.com/users/username/articles/2012/03/12/article-title.php My.htaccess代码: RewriteEngine On RewriteRule ^users/([a-zA-Z0-9]+)/articles/$ article.php?url=/users/$1/articles/$2 [L] 您列出的重写规则仅捕获以“articles/”结尾的

我似乎无法让重写规则生效——它只是不匹配

我的url:
http://www.example.com/users/username/articles/2012/03/12/article-title.php

My.htaccess代码:

RewriteEngine On

RewriteRule ^users/([a-zA-Z0-9]+)/articles/$ article.php?url=/users/$1/articles/$2 [L]

您列出的重写规则仅捕获以“articles/”结尾的URL。您需要添加一些内容来捕获文本的其余部分,如(.*),以便

RewriteRule ^users/([a-zA-Z0-9]+)/articles/(.*)$ article.php?url=/users/$1/articles/$2 [L]

太好了,谢谢!此规则将保留浏览器中显示的原始URL,对于所有浏览器,是否正确?(一个“隐藏的”再直接)是的。此外,您可能希望将[L]更改为[L,QSA],以保留应用程序添加的任何其他查询字符串。在每个目录上下文中进行另一次相对重写,而不使用
RewriteBase
。Apache应该修复这个陷阱。