我有域名xyz.com託管在Windows服務器上。.htaccess to web.config用於URL重寫和重定向
xyz.com的代碼是用PHP編寫的(以前是在ASP.NET中)。數據庫是MySQL(以前它是在SQL服務器中)。
現在重新開發PHP的整個網站後,我才知道.htaccess
將無法在Windows服務器上工作。我必須玩web.config
。
這裏是.htaccess
代碼時,我是PHP重新開發網站本地我用:
RewriteRule index.html index.php
RewriteRule news.html news.php
RewriteRule search-results.html search-results.php
RewriteRule ^([A-Za-z0-9_\-]+).html$ pages.php?pageid=$1&%{QUERY_STRING} [ne]
一個奇怪的事情發生
當我在web.config中,它正在完美地添加下面的代碼行
<rules>
<clear />
<rule name="Redirect to google.com" stopProcessing="true">
<match url="^google$" />
<action type="Redirect" url="http://www.google.com/" appendQueryString="false" />
</rule>
</rules>
上面的代碼我重定向到google.com,這意味着重寫模塊已啓用
但是當我添加下面提到的代碼的web.config
<rules>
<rule name="REWRITE_TO_PHP">
<match url="^(.+).html$" />
<conditions logicalGrouping="MatchAll" />
<action type="Rewrite" url="pages.php?pageid={R:1}" />
</rule>
它給我的錯誤:
HTTP錯誤500.19 - 內部服務器錯誤 請求的頁面不能因爲相關配置訪問該頁面的數據無效。
任何人都可以幫助我創建相當於web.config
代碼嗎?
任何人都可以幫忙嗎?自8小時以來我就陷入了這些! – user3782114