web-dev-qa-db-ja.com

.configで.html / .htmを.phpに転送します

LinuxホストサーバーからクライアントのWindowsホストサーバーにサイトを移動しています。

.htaccessファイルは機能しなくなり、Windowsサーバーは.configを使用すると言われています。

.htmlおよび.htmファイルにアクセスするすべてのユーザーを同等の.phpファイルに転送するにはどうすればよいですか。

サーバー情報...

OS /ホスティングタイプ:Windows /共有ホスティング

.Netランタイムバージョン:ASP.Net 2.0/3.0/3.5

PHPバージョン:PHP 5.2

IISバージョン:IIS 7.0

データセンター:米国地域

編集

* GoDaddyが提供するホスティング

友人は次のように動作するはずだと言われましたが、サイトに影響はありません。

<configuration>
<system.webServer>
    <handlers>
        <add name="PHP-FastCGI" verb="*" 
            path="*.html" 
            modules="FastCgiModule"
            scriptProcessor="c:\php\php-cgi.exe" 
            resourceType="Either" />
    </handlers>
</system.webServer>
</configuration>
1

そのコードで行ったことは、サーバーでPHPを有効にすることだけです。 IIS URLリライタを使用して、.htmlページを対応する.phpページに書き換えるか、リダイレクトする必要があります。

このような何かがあなたのために働くかもしれません。 system.webServerに配置します。

<rewrite>
    <rules>
        <rule name="REWRITE_TO_PHP">
        <match url="^(.+).html$" />
        <conditions logicalGrouping="MatchAll" />
        <action type="Rewrite" url="{R:2}.php" />
    </rule>
</rewrite>

これは非常に単純化されており、私はそれをテストする仕事をしていませんが、開始する必要があります。それに応じてRegExを調整する必要があります。

2
StephenCollins