Asp.net 如何正确地将带有.aspx的URL重写为不带.aspx的URL?
我有一个网站目前在其页面上使用.aspx扩展名。它正在进行Joomla转换,.aspx扩展将不再工作。我需要它,这样,如果有人进入.aspx扩展,它将被删除的网址,所以没有在当前网站上的搜索引擎优化打破 例如,我需要 www.arrc.com.php5-17.websitetestlink.com/services/managed-services.aspx 要重写/重定向到 www.arrc.com.php5-17.websitetestlink.com/services/managed-services 这是我的web.config中的内容:Asp.net 如何正确地将带有.aspx的URL重写为不带.aspx的URL?,asp.net,Asp.net,我有一个网站目前在其页面上使用.aspx扩展名。它正在进行Joomla转换,.aspx扩展将不再工作。我需要它,这样,如果有人进入.aspx扩展,它将被删除的网址,所以没有在当前网站上的搜索引擎优化打破 例如,我需要 www.arrc.com.php5-17.websitetestlink.com/services/managed-services.aspx 要重写/重定向到 www.arrc.com.php5-17.websitetestlink.com/services/managed-se
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Migrate to PHP">
<match url="^([_0-9a-z-]+)\.aspx" />
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
<rule name="Rewrite .aspx">
<match url="^([_0-9a-z-]+)/?([_0-9a-z-]+)\.aspx" />
<action type="Redirect" redirectType="Permanent" url="{R:1}/{R:2}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
第一个URL匹配适用于具有类似services.aspx而不是services/managed-services.aspx的URL的任何URL
每当我访问www.arrc.com.php5-17.websitetslink.com/services/managed-services.aspx时,它都会显示一个内部服务器错误,但www.arrc.com.php5-17.websitetslink.com/services.aspx会正确重写。我能做些什么来解决这个问题呢?他们很贪婪,改变顺序
<rule name="Rewrite .aspx">
<match url="^([_0-9a-z-]+)/?([_0-9a-z-]+)\.aspx" />
<action type="Redirect" redirectType="Permanent" url="{R:1}/{R:2}" />
</rule>
<rule name="Migrate to PHP">
<match url="^([_0-9a-z-]+)\.aspx" />
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
他们很贪婪,切换顺序
<rule name="Rewrite .aspx">
<match url="^([_0-9a-z-]+)/?([_0-9a-z-]+)\.aspx" />
<action type="Redirect" redirectType="Permanent" url="{R:1}/{R:2}" />
</rule>
<rule name="Migrate to PHP">
<match url="^([_0-9a-z-]+)\.aspx" />
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
两个潜在问题:
哇,我从没想过要这么做,但它成功了!谢谢!哇,我从没想过要这么做,但它成功了!谢谢!