2011-04-06 65 views
0

我想重写:问题与ASP.net URL

Test.phpDefault.asp

所以我使用规则:

<rewrite url="~/Test.php" to="~/default.asp" />

但该规则给出了一个404

但是这个规则工作正常:

<rewrite url="~/default.aspx" to="~/default.asp" />

但是这个规则404的:

<rewrite url="~/Test" to="~/default.asp" />

我的web.config:

<?xml version="1.0" encoding="UTF-8"?> 

<configuration> 

    <configSections> 
     <section name="rewriter" 
       requirePermission="false" 
       type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" /> 
    </configSections> 

    <system.web> 

     <httpModules> 
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" /> 
     </httpModules> 

    </system.web> 

    <system.webServer> 

     <modules runAllManagedModulesForAllRequests="true"> 
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" /> 
     </modules> 

     <validation validateIntegratedModeConfiguration="false" /> 

    </system.webServer> 

    <rewriter> 
     <rewrite url="~/Test.php" to="~/default.asp" /> 
    </rewriter> 

</configuration> 

回答

1

PHP是被如何处理?

根据the setup documentation您需要确保PHP扩展正在被ASP.NET处理。另外,如果IIS在将它交给ASP.NET之前检查文件是否存在,那么您可能也会漏掉这个文件。

此外,根据您的system.webServer另外(这不在模块的网站上详细说明),我们可以假设Server 2008?如果是这样,我可以推荐URL Rewrite吗?