当前位置:编程学习 > html/css >>

RewriteRule (.*\.html)$ /index.php 什么意思

补充:感谢你的热心回答,最好一次提问。你说:这里只能处理一次。你之前的判断只是一个例子,实际中没有意义的!!!!,是说只能处理第一步吗? 我用了伪静态,原先伪静态的为 .../xyz-12345.html,用RewriteRule (.*\.html)$ /index.php 规则实现为静态。后来我把伪静态改成了 .../x-12345.html的样式。这样先前的 .../xyz-12345.html就无效了,但是搜索引擎更新没那么及时,所以搜索引擎的链接无法打开。 我希望用 重写规则来 使 .../xyz-12345.html还生效。 所以我想到了,先把.../xyz-12345.html转成.../x-12345.html的样式,然后再进行RewriteRule (.*\.html)$ /index.php规则。不知道我说的,你能否看明白。不管如何还是非常感谢你。 原htaccess内容: RewriteEngine on RewriteBase / RewriteRule (.*\.html)$ /index.php 我改成 RewriteEngine on RewriteBase / RewriteRule ^xyz-(.*)\.html$ x-$1.html RewriteRule (.*\.html)$ /index.php 功能不能实现
追问:谢谢,我还有两个问题
1.在上述规则中,提交网页是 www.abc.com/xyz-123456.html。结果是什么?

2.我还想实现这样的功能。如果提交的网页是www.abc.com/xyz-123456(数字随机).html,则先把他变成www.abc.com/x-123456.html。然后再给RewriteRule (.*\.html)$ /index.php处理。谢谢。是这样的,我想给规则加个功能。
原来的规则是 RewriteRule (.*\.html)$ /index.php

现在我想增加一个判断的功能。即
如果提交的网页是www.abc.com/xyz-123456(数字随机).html,则先把他变成www.abc.com/x-123456.html,再进行原来的规则处理。感谢你的热心回答,最好一次提问。你说:这里只能处理一次。你之前的判断只是一个例子,实际中没有意义的!!!!,是说只能处理第一步吗?

这里写不下那么多,我写在问题补充里了谢谢,我还有两个问题
1.在上述规则中,提交网页是 www.abc.com/xyz-123456.html。结果是什么?

2.我还想实现这样的功能。如果提交的网页是www.abc.com/xyz-123456(数字随机).html,则先把他变成www.abc.com/x-123456.html。然后再给RewriteRule (.*\.html)$ /index.php处理。
答案:这是 apache 的伪静态设置写大。

其实这里是正则哦。

RewriteRule (.*\.html)$ /index.php
路由       讲   .html 结尾的网址请求,换成 /index.php

这样,用户王文的网址,在 服务器内部就被转变了。。。。

主要用来作为静态,让别人以为是静态的。
-----------------------
不懂就追问哦,谢谢 ,^_*
其他:伪静态规则,很多web服务器都可以支持,不仅仅是apache.
这条规则是将URL中任何以 .html结尾的页面 内部转换为 index.php文件执行. 重新键入索引链接,应该是网址错误,让你重新键入网址链接的
 

上一个:在HTML实现: 有一个下拉框, 与一个"铵钮", 选择下拉框, 然后按"铵钮", 打开下拉框连接
下一个:请问怎么用php写一个链接替换呢 比如:/html/1234.html 换成 /list/7890.html 访问/list/7890.html不出错呢

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,