2

Apache から iis に移行していますが、URL の書き換えに関する問題に直面しています。

私はこのようなすべての要求が欲しい:

http://192.168.0.44/aaa/bbb/ccc/testword

この不親切な URL をクエリするには:

http://192.168.0.44/aaa/bbb/ccc/index.php?word=testword

私のweb.configは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
                    <match url="^192\.168\.0\.44/aaa/bbb/ccc/([^/]+)/?$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="192.168.0.44/aaa/bbb/ccc/index.php?word={R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

しかし、そのような URL にアクセスすると、404 not found エラーが発生します。詳細:

Module  IIS Web Core
Notification    MapRequestHandler
Handler StaticFile
Error Code  0x80070002

Requested URL   http://192.168.0.44:80/aaa/bbb/ccc/testword
Physical Path   C:\inetpub\wwwroot\aaa\bbb\ccc\testword
Logon Method    Anonymous
Logon User  Anonymous

私は何を間違っていますか?

ps そのIPの代わりにそこにドメインがあります。ライブにする前に、最初にローカルでテストしたいだけです。

書き換えモジュール 2 がインストールされています。私はiisマ​​ネージャーのGUIで見ることができます。

前もって感謝します。

4

1 に答える 1

1

最上位にあったこの書き換えルールを削除し、最も深いフォルダー ( ccc ) に最も簡単な方法 (長いパスと IP なし) で実装しました。自動的に機能しました。

于 2013-02-18T17:24:54.913 に答える