2016-08-29 40 views
0

WebアプリケーションをApache 2.4.17からMicrosoft-IIS/7.5に移行しています。私のアプリケーションのルートには.htaccessファイルがあり、Web.configに変換する必要があります。.htaccessファイルをWeb.configに変換する

多くの試みの後、私は成功した変換を行うことができません。 Microsoft-IISは、404 - file not foundエラーを返し続けます。 Web.configファイルを作成する経験はありませんので、経験豊富な人の助けを借りて助けてください。ここで

は、Apache上で正常に動作している.htaccessファイルです:

php_value post_max_size 70M 

RewriteEngine on 

# In case router is called do nothing 
RewriteRule ^framework/Router.php(.)*$ - [L] 

# Prevents user from making a request to a specific .php file 
RewriteRule ^[A-Za-z/]+.php$ - [F,L] 

# Application index page 
RewriteRule ^$ domov [L] 

# Redirect everything else to Router.php 
RewriteRule ^[A-Za-z/]+$ framework/Router.php [L] 

RewriteRule ^([A-Za-z/]+)([0-9]+)$ framework/Router.php?id=$2 [L] 
RewriteRule ^([A-Za-z/]+)/(page=[0-9]+)$ framework/Router.php?$2 [L] 

そしてここで、Web.configファイルの書き込みに私の試みです:あなたはすでにthis記事を参照しているよう

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="rule 1G" stopProcessing="true"> 
       <match url="^framework/Router.php(.)*$"/> 
       <action type="Rewrite" url="/-" /> 
      </rule> 
      <rule name="rule 2G" stopProcessing="true"> 
       <match url="^[A-Za-z/]+.php$" /> 
       <action type="Rewrite" url="/-"/> 
      </rule> 
      <rule name="rule 3G" stopProcessing="true"> 
       <match url="^$" /> 
       <action type="Rewrite" url="/domov"/> 
      </rule> 
      <rule name="rule 4G" stopProcessing="true"> 
       <match url="^[A-Za-z/]+$" /> 
       <action type="Rewrite" url="/framework/Router.php"/> 
      </rule> 
      <rule name="rule 5G" stopProcessing="true"> 
       <match url="^([A-Za-z/]+)([0-9]+)$" /> 
       <action type="Rewrite" url="/framework/Router.php?id={R:2}" appendQueryString="true" /> 
      </rule> 
      <rule name="rule 6G" stopProcessing="true"> 
       <match url="^([A-Za-z/]+)/(page=[0-9]+)$" /> 
       <action type="Rewrite" url="/framework/Router.php?{R:2}" appendQueryString="true" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 
</configuration> 

答えて

0

が見えます。

は、あなたがURL書き換えモジュールをインストールしているかどうかを確認でした:http://www.iis.net/downloads/microsoft/url-rewrite

は私が要求して起こっているとなぜ彼らは失敗しているかを理解するために失敗した要求トレースを有効にすることをお勧めします。この記事を参照してください: http://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis-85

+0

ありがとうございました、私はあなたの答えに従って、今は正常に動作します。副次的な注意点として、IISマネージャをインストールしていない場合は、次の質問に記載されています。http://stackoverflow.com/questions/30901434/iis-manager-in-windows-10 – hardidoo

関連する問題