[英]How can we Run PHP files Within an ASP.NET Web Application with Integrated pipeline mode for IIS?
[英]asp.net url rewriting with IIS integrated pipeline mode
我是ASP.NET的新手。 我創建了一個Web應用程序,並決定使用URL重寫。 我嘗試了幾種解決方案,例如http://urlrewriting.net和http://urlrewriter.net/index.php/support/configuration
這些解決方案在我的本地主機上運行良好。 但是,當我將其上傳到共享托管服務提供商時,我所有的網頁都收到500個內部服務器錯誤。
一家網絡托管提供商告訴我HttpModules和HttpHandlers與IIS Integrated Pipeline模式不兼容。 他們說我應該將設置移到system.webServer中。我嘗試這樣做,但一定在某個地方搞砸了,因為現在我收到404錯誤。 有人可以告訴我如何使URL重寫適合我的情況嗎? 這是我原始的web.config的樣子:
<configSections>
<section name="urlrewritingnet"
restartOnExternalChanges="true"
requirePermission ="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection,
UrlRewritingNet.UrlRewriter" />
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.0"></compilation>
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
</system.web>
<urlrewritingnet
rewriteOnlyVirtualUrls="true"
contextItemsPrefix="QueryString"
defaultPage = "default.aspx"
defaultProvider="RegEx"
xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<add name="Rewrite" virtualUrl="^~/([^\/]+)/(\d+)$"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/$1.aspx?id=$2"
ignoreCase="true" />
<add name="Rewrite" virtualUrl="^~/(search|administrator|Default|logout)$"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/$1.aspx"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
我想他們在說的是
1)您必須在.NET中使用重寫器2)您必須對其進行設置以使用URL重寫器,該URL重寫器位於system.webServer而不是system.web下。
如果我是正確的,他們正在使用URL重寫器: http ://www.iis.net/download/urlrewrite
注意:它們可能不允許您使用自定義HTTP處理程序(是的,我知道它是已發布的第三方,但是ISP像這樣很有趣)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.