1

私は、私が一度も取り組んだことのないサイトを持つクライアントのために、いくつかの書き直しの設定に取り組んでいます。目標は単純ですが、何らかの理由でサーバーが .htaccess ファイルと Web.config ファイルを無視しているようです! 念のため両方を試しましたが、サーバーは Microsoft-IIS/6.0 を実行しており、PleskWin、ASP.NET、および PHP/5.2.17 を使用しています。このサイトは Wordpress を実行しており、すべてのコードは PHP で記述されています。少なくとも、Web.config ファイルは Web サイトを破壊するはずですが、まったく影響はありません。両方のファイルは、index.php ファイルと同じディレクトリであるルート ディレクトリ "httpdocs" にあります。

ここに私の Web.config ファイルがあります:

<system.webServer>
<rewrite>
  <rules>
    <rule name="Rewrite CI Index">
      <match url=".*" />
      <conditions>
        <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|ttf|eot" negate="true" />
        <add input="{REQUEST_FILENAME}" pattern="admin.php" negate="true" />
        <add input="{REQUEST_FILENAME}" pattern="index.php" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php/{R:0}" />
    </rule>
  </rules>
</rewrite>
</system.webServer>

そして私の.htaccess(念のため)

RewriteEngine On
RewriteRule ^google.html$ http://www.google.com/ [R=301]
4

1 に答える 1

0

要素が IIS 6.0 でサポートされていないため、リダイレクトが機能していないと思います。system.webServerそのため、そのセクションで指定した情報は使用されません (こちらを参照してください: http://www.iis.net/configreference/system.webserver )。

IIS 6.0 でリダイレクトを行う場合は、別の ISAPI フィルタをインストールする必要がある場合があります。これらの質問には詳細情報があります。

IIS 6 で URL 書き換えルールを書き込む場所
https://serverfault.com/questions/1408/how-can-i-rewrite-urls-ala-mod-rewrite-for-free-in-iis-6

また、IIS でこのサイト用に Web アプリケーションが設定されていることを確認することも重要です。ファイルがアプリケーションが作成されていない仮想ディレクトリにある場合、Web サイトの実行に ASP.NET は使用されません。あなたの質問を読み直すと、確かにこれはすでに行われているように見えますが、念のため言及しておきます。その方法に関するドキュメントは、次の場所にあります。

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1d1c9a73-b4c5-4cfb-ad69-b77fa2e17e19.mspx?mfr=true

于 2013-08-30T15:43:29.000 に答える