明凯博客

关注网站技术,一个特立独行的程序员

RewriteRule中的正则表达式是否加上^的区别

例子一

1
RewriteRule /news/(/d+)/.html /news/.php/?id=$1 [N,L]

不仅匹配

1
http://localhost/news/1.html

也会匹配

1
http://localhost/test/news/1.html

因此应当加上^

1
RewriteRule ^/news/(/d+)/.html /news/.php/?id=$1 [N,L]

这样就不会匹配

1
http://localhost/test/news/1.html

例子二

1
RewriteRule /blog/user/(.+)/.html$ /blog/user/blog_show.jsp?userid=$1 [PT]

不仅匹配

1
http;//localhost/blog/user/1.html

也匹配

1
http;//localhost/test/blog/user/1.html

因此应当加上^

1
RewriteRule ^/blog/user/(.+)/.html$ /blog/user/blog_show.jsp?userid=$1 [PT]

这样就不会匹配

1
http://localhost/test/news/1.html

apache关键词

apache
rewrite模块关键词

httxt2dbm
mod_rewrite
ornext
RewriteBase
RewriteCond
RewriteEngine
RewriteLog
RewriteLogLevel
RewriteMap
RewriteRule

rewrite模块常见用途

改变查询参数的设定位置

rewrite模块标记

RewriteLog, 设置重写引擎日志的文件名

RewriteRule, 设置重写规则

rewrite模块常见问题

RewriteRule中的正则表达式需要考虑是否要加上^(匹配字符串开头)

, ,

相关文章

4 条评论 “RewriteRule中的正则表达式是否加上^的区别

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注