论坛风格切换切换到宽版
  • 841阅读
  • 8回复

[问题求助][RedHat] apache url 重定向的问题 [复制链接]

上一主题 下一主题
离线jackerbauer.
 
发帖
1966
C币
-199280
威望
325
贡献值
1
银元
-6
铜钱
4420
人人网人气币
0
只看楼主 正序阅读 使用道具 楼主  发表于: 2009-05-01
RewriteEngine on.教育
    RewriteRule !^.+\.(js|ico|gif|jpg|png|css|html|htm|s.w.f|ph.p|xml)$ /index.php           鲜花


前一句小弟知道是怎么回事儿了

但是第二句的这个 !^..+\.(js………… 不知道是怎么回事 什么.含义.

“不是以 js|ico|gif|jpg|png|.css|.html|h.tm|swf|php|xml 为后缀的文件 重定向的当前的 index.php 文件”吗?<性病>

里面的
“+” 是怎么回事儿呢?


! .           ^               . .             +                    \.              .   ( ………………)    美容
取非.     表明头      ?    ?    .  转义?            杀毒



不知道小弟这样表述清楚么?

谢谢大家了

[ 本帖最.后由 .ppiqq 于 2008-12-23 17:45 编辑 ].


最佳答案ynchnluiti
http://upload.bbs.csuboy.com/Mon_1004/126_6895_c2515fb4e40125e.gif[/img]              乙肝

QUOTE:原帖由 ppiqq 于 2008-12-24 09:21 发表 http://upload.bbs.csuboy.com/Mon_1004/126_6895_6cff255c8b048b0.gif[/img]电影


额 那为什么不能用

* 来代替上面 说到的的.+. 呢.

既然是匹配一个或者是多个.任意字符的话; .

这是正.则不是通配符,*也是用来修饰前面的字符(组)的,意思是0个.或多个前面的字符(组)。             电子
.*(0个或多个任意字符), a*(0个或多个a).这种.写法。.

+表示1个.或多个字.符(组)。这里用+是要求.号前至少有一个字符。              乙肝


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线ljhddzyj.
发帖
2034
C币
-193449
威望
384
贡献值
1
银元
-1
铜钱
4502
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-14
Re:[RedHat]


QUOTE:原帖由 ppiqq 于 2008-12-24 14:53 发表



恩 动了 再去看看shell的正则去

谢谢大大了

再找找apache rewrite 正则相关的文档看看

离线resoo.
发帖
2070
C币
-60419
威望
390
贡献值
1
银元
0
铜钱
4606
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-14
Re:[RedHat]
学习


发帖
2027
C币
-139378
威望
384
贡献值
1
银元
0
铜钱
4613
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-14
Re:[RedHat]


QUOTE:原帖由 ynchnluiti 于 2008-12-24 04:13 发表
你的理解是对的。表示扩展名如果不属于括号中列出的,就重定向
.表示任意字符,要匹配字符.,需要转义
.+匹配1或多个字符。例如:a.js 或 aaa.php不重定向, 而.js或aa.other或重定向


额 那为什么不能用

* 来代替上面 说到的的.+ 呢

既然是匹配一个或者是多个任意字符的话;


离线klyxb.
发帖
2047
C币
-313895
威望
407
贡献值
1
银元
-1
铜钱
4726
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14
Re:[RedHat]
你的理解是对的。表示扩展名如果不属于括号中列出的,就重定向
.表示任意字符,要匹配字符.,需要转义
.+匹配1或多个字符。例如:a.js 或 aaa.php不重定向, 而.js或aa.other或重定向


离线malawenwen.
发帖
2019
C币
-60527
威望
364
贡献值
1
银元
-1
铜钱
4523
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14
Re:[RedHat]


QUOTE:原帖由 ppiqq 于 2008-12-23 17:46 发表
也就是 取头 后面的 .+   是什么意思呢?

.任意字符
+号修饰前面的字符(组),表示1或多个,至少1个。

.+就是1或多个字符。


离线17772.
发帖
2092
C币
-60655
威望
392
贡献值
1
银元
-3
铜钱
4723
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14
Re:[RedHat]
你可以验证一下具体的效果与需要的是否一致


发帖
2133
C币
-193311
威望
363
贡献值
1
银元
-2
铜钱
4686
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14
Re:[RedHat]
也就是 取头 后面的 .+   是什么意思呢?


离线jacky750512.
发帖
2162
C币
-152267
威望
379
贡献值
1
银元
-3
铜钱
4755
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
Re:[RedHat]


QUOTE:原帖由 ppiqq 于 2008-12-24 09:21 发表


额 那为什么不能用

* 来代替上面 说到的的.+ 呢

既然是匹配一个或者是多个任意字符的话;

这是正则不是通配符,*也是用来修饰前面的字符(组)的,意思是0个或多个前面的字符(组)。
.*(0个或多个任意字符), a*(0个或多个a)这种写法。

+表示1个或多个字符(组)。这里用+是要求.号前至少有一个字符。


快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个