2011-08-08 8 views
0

私は、PHP WebアプリケーションをLinuxからIIS 7に移行しています。私がする必要があるのは、phpというすべてのものを隠すためです。私はすでに表示されていないので、隠される必要がある他のものはないと思います。助言がありますか?IIS 7を実行しているサーバーでPHP拡張機能を表示しない

+0

ルック:追加した場合、.PHPを取り除くだけでなく、)URLに目に見えないの.phpを追加するためのhttp://stackoverflow.com/q/60857/561731 – Neal

答えて

1

php.iniexpose_phpオプションを見てください、だけでなく、提案されたmod_rewrite

2

ISAPI_Rewriteは、Apacheのmod_rewriteに代わる良い方法です。 Windows + IISに展開されている多くのプロジェクトでこれを使用しました。構文はmod_rewriteと同じで、Apache mod_rewriteで使用しなければならなかったすべての機能をサポートしています。

サーバーのすべてのサイトにルールを適用する無料のバージョンがあります。創造的な場合は、RewriteCondを使用して、サイトにマップされた特定のドメインに限定することができます。それがあなたの予算内であれば、有料版もコストの価値があります。

http://www.helicontech.com/isapi_rewrite/

2

IIS 7のネイティブIISのURL書き換えモジュールを使用します。 ISAPI_Rewriteは、IIS 6またはそれ以前のバージョンで展開する場合に最適です。

URLリライトモジュールは、.htaccessのほとんどのmod_rewriteルールをインポートすることもできます。ここで私が最初にしなければならなかった私のサーバー上でこれを行うにはhttp://iis.net/urlrewrite

0

スタート:私はこのXMLでweb.configファイルを追加する必要がありました http://www.iis.net/downloads/microsoft/url-rewrite

そしてURL Rewrtieモジュールをインストールします(この作品IIS上mod_rewritesに

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Redirect .php extension" stopProcessing="false"> 
        <match url="^(.*).php$" ignoreCase="true" /> 
        <conditions logicalGrouping="MatchAny"> 
         <add input="{URL}" pattern="(.*).php$" ignoreCase="false" /> 
        </conditions> 
        <action type="Redirect" url="{R:1}" redirectType="Permanent" /> 
       </rule> 
       <rule name="hide .php extension" stopProcessing="true"> 
        <match url="^(.*)$" ignoreCase="true" /> 
        <conditions> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
         <add input="{REQUEST_FILENAME}.php" matchType="IsFile" /> 
        </conditions> 
        <action type="Rewrite" url="{R:0}.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
関連する問題