使用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克星。无论你想要完成什么,这都是禁忌。
答
找到解决方案。将asp.net应用程序移动到一个子目录,并将wordpress网站移回到根目录。现在都在工作。
我不同意。除了永久链接以外,一切都可以使用。为什么你会说这是禁忌?这听起来是失败主义者。 –