0

に次の IIS URL 書き換えルールがありますweb.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="some-name" patternSyntax="Wildcard">
                    <match url="*"/>
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                    </conditions>
                    <action type="Rewrite" url="index.php"/>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

次のように、サブフォルダーに対して機能します。

ケースA

web.config と index.php は に保存されfolder1/testます:
リクエスト/folder1/test/some/virtual/12-urlは に送信されfolder1/test/index.phpます。

ケースB

web.config と index.php は に保存されfolder2/wherever/thisます:
リクエスト/folder2/wherever/this/virtual/12-urlは に送信されfolder2/wherever/this/index.phpます。

Apache に切り替える場合、サブフォルダーの URL が変更されるたびに .htaccess を更新する必要がないように、これらのルールをどのように書き直すことができますか? (プロジェクトは任意のサブフォルダーでホストできますが、ドキュメント ルートに配置する必要はありません。)

4

1 に答える 1

1

これを試して

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^ index.php [L]
于 2013-08-24T21:08:25.197 に答える