免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3124 | 回复: 10
打印 上一主题 下一主题

[Web] 关于apache rewrite,再请教一下。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-26 13:03 |只看该作者 |倒序浏览
请教一下熟悉apache rewrite的朋友。

偶想实现这样一个功能:

本来偶默认设置所有“/abc/*”文件都重定向到“/123/*”。

现在的问题是,“/abc/1.php”这个文件比较特殊,需要先检查,如果这个文件存在,则不重定向,而直接打开,反之,如果不存在这个文件,则重定向到“/123/*”去。

需要怎么设置Rule呢~~~

先谢谢啦。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-03-26 15:50 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2007-03-26 17:33 |只看该作者
thanks for HQ~

I try first.

论坛徽章:
0
4 [报告]
发表于 2007-03-27 10:56 |只看该作者
HQ兄,可否再请教一下。

我当前这么设置的:
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^abc/(.+)$ /123/$1 [L]

这样可以解决我之前提的问题了,谢谢你先。

然后,假设还有一个文件:

“/xyz/2.html”,我想让它转到“/456/3.php”去。

如果在规则集下面直接写:
RewriteRule ^xyz/(.+)$ /456/$1 [L]

这样的话,mod_rewrite不会检查2.html先,于是,我需要再在前面加一个:
RewriteCond %{SCRIPT_FILENAME} !-f

我觉得这样是不是浪费资源咯?同样的检测多次执行,似乎没必要,然后我就想,是否可以让多个Rule共享一个Cond呢?

盼指教。。。

论坛徽章:
0
5 [报告]
发表于 2007-03-27 16:24 |只看该作者
call HQ。。。

looked?

论坛徽章:
0
6 [报告]
发表于 2007-03-27 16:39 |只看该作者
原帖由 iamcm 于 2007-3-27 16:24 发表
call HQ。。。

靠 HQ ?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
7 [报告]
发表于 2007-03-27 17:41 |只看该作者
http://w.yi.org/ftp/FAPM/apache/ ... te.html#rewritecond

'chain|C' (与下一个规则相链接 chained)
此标记使当前规则与下一个(其本身又可以与其后继规则相链接的, 并可以如此反复的)规则相链接。 它产生这样一个效果: 如果一个规则被匹配,通常会继续处理其后继规则, 即,这个标记不起作用;如果规则不能被匹配, 则其后继的链接的规则会被忽略。比如,在执行一个外部重定向时, 对一个目录级规则集,你可能需要删除``.www'' (此处不应该出现``.www''的)。

论坛徽章:
0
8 [报告]
发表于 2007-03-29 15:41 |只看该作者
HQ兄,貌似不对吧。

我改成:

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^abc/(.+)$ /123/$1 [L,C]

RewriteRule ^xyz/(.+)$ /456/$1 [L]

这样子了。现在是,匹配完第1条规则之后,第2条规则已经不起作用了。。。(被C忽略了?)

这不是偶想要的效果呀。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2007-03-29 15:45 |只看该作者
L表是最后一条规则。

论坛徽章:
0
10 [报告]
发表于 2007-03-29 15:48 |只看该作者
汗。。。“表是”的意识是“不是”还是“表示”??别让俺打哑谜啊。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP