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