IIS重写问题-捕获所有.php文件
在一个文件夹中,我有几个.php文件(超过10个) 我试图实现的是正确地重新编写它们,以便有友好的URL。重写内容如下:IIS重写问题-捕获所有.php文件,iis,url-rewriting,web-config,rewrite,Iis,Url Rewriting,Web Config,Rewrite,在一个文件夹中,我有几个.php文件(超过10个) 我试图实现的是正确地重新编写它们,以便有友好的URL。重写内容如下: www.domain.com/data -> www.domain.com/data/index.php www.domain.com/data/ -> www.domain.com/data/index.php www.domain.com/data/aaa -> www.domain.com/data/aaa.php www.domain.com/dat
www.domain.com/data -> www.domain.com/data/index.php
www.domain.com/data/ -> www.domain.com/data/index.php
www.domain.com/data/aaa -> www.domain.com/data/aaa.php
www.domain.com/data/aaa/ -> www.domain.com/data/aaa.php
www.domain.com/data/aaa/chapter1 -> www.domain.com/data/aaa.php?c=chapter1
www.domain.com/data/bbb -> www.domain.com/data/bbb.php
www.domain.com/data/bbb/ -> www.domain.com/data/bbb.php
www.domain.com/data/bbb/chapter1 -> www.domain.com/data/bbb.php?c=chapter1
...
通过使用以下规则,我实现了我想要的单个php文件
这很有效。但是,它效率不高,而且对文件夹中的每个php文件复制这些规则时容易出错
因此,我想用规则中的(.+)替换aaa,但在某些情况下不起作用
它适用于以下情况:
www.domain.com/data -> www.domain.com/data/index.php
www.domain.com/data/ -> www.domain.com/data/index.php
www.domain.com/data/aaa -> www.domain.com/data/aaa.php
www.domain.com/data/aaa/ -> www.domain.com/data/aaa.php
www.domain.com/data/aaa/chapter1 -> www.domain.com/data/aaa.php?c=chapter1
它不适用于以下情况:
www.domain.com/data -> www.domain.com/data/index.php
www.domain.com/data/ -> www.domain.com/data/index.php
www.domain.com/data/aaa -> www.domain.com/data/aaa.php
www.domain.com/data/aaa/ -> www.domain.com/data/aaa.php
www.domain.com/data/aaa/chapter1 -> www.domain.com/data/aaa.php?c=chapter1
对于这些情况,我会得到一个“未找到”。
我做错什么了吗?我怎样才能解决这个问题
IIS=7.5+
提前谢谢你。这个怎么样
<rewrite>
<rules>
<rule name="Friendly1" stopProcessing="true">
<match url="^data/([-a-zA-Z0-9]*)/[-a-zA-Z0-9]*)$" ignoreCase="true" />
<action type="Rewrite" url="data/{R:1}.php?c={R:2}" />
</rule>
<rule name="Friendly2" stopProcessing="true">
<match url="^data/([-a-zA-Z0-9][-a-zA-Z0-9]*)$" ignoreCase="true" />
<action type="Rewrite" url="data/{R:1}.php" />
</rule>
<rule name="Friendly3" stopProcessing="true">
<match url="^data(/.*)$" ignoreCase="true" />
<action type="Rewrite" url="data/index.php" />
</rule>
</rules>
</rewrite>
你也能列出工作案例吗?@CyrilDurand我现在添加了它们