使用asp.net rewrite和wordpress永久链接

问题描述:

我有一个网站使用asp.net和wordpress。 wordpress组件位于名为wordpress的子目录中。它使用永久链接。使用asp.net rewrite和wordpress永久链接

我也有一个asp.net网站,它使用站点根目录作为*目录。

该asp.net网站使用一些重写规则,所以我可以访问没有.aspx扩展名的.aspx页面。它有效地将.aspx添加到页面。这是web.config文件中的重写规则

<rewrite> 
    <rules> 
    <rule name="san aspx"> 
     <!--Removes the .aspx extension for all pages.--> 
     <match url="(.*)" /> 
     <conditions logicalGrouping="MatchAll"> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     <add input="{REQUEST_FILENAME}" pattern="/*.png" negate="true" /> 
     <add input="{REQUEST_FILENAME}" pattern="/*.php" negate="true" /> 
     <add input="{REQUEST_FILENAME}" pattern="/wordpress/*.php" negate="true" /> 
     <add input="{REQUEST_FILENAME}" pattern="/webservice/*.asmx" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="{R:1}.aspx" /> 
    </rule> 
    </rules> 
</rewrite> 

这对asp.net页面正常工作。

但是它也增加了.aspx扩展名到wordpress页面。所以,如果我有一个页面(显示为一个固定链接),如

/recurring-billing/ 

它查找一个名为

/recurring-billing/.aspx 

如果我关掉永久链接页面上,WordPress网页显示正确,因为asp.net重写规则

<add input="{REQUEST_FILENAME}" pattern="/*.php" negate="true" /> 

正确识别.php页面并忽略重写。

问题:在asp.net重写规则中需要什么额外条件,所以它不会将.aspx添加到wordpress永久链接。

PHP和.NET是Arch克星。无论你想要完成什么,这都是禁忌。

+0

我不同意。除了永久链接以外,一切都可以使用。为什么你会说这是禁忌?这听起来是失败主义者。 –

找到解决方案。将asp.net应用程序移动到一个子目录,并将wordpress网站移回到根目录。现在都在工作。