質問

まずこの URL を見てください。

https://stackoverflow.com/questions/tagged/xoxoxo/

このディレクトリは存在しませんが、どういうわけか stackoverflow はその最後のディレクトリをパラメータとしてベース スクリプトに渡すことができます。

IIS または Apache をそのように構成することは可能ですか?どうやって?

役に立ちましたか?

解決

この種の動作の背後にあるメカニズムは次のように呼ばれます。 URL書き換え で実装できます アパッチ とともに mod_rewrite-モジュールおよびいずれかの Helicon を備えた IIS ISAPI_Rewrite Lite (または Helicon が提供する非無料の代替手段の 1 つ) IIS 5.1 そして 6 または Microsoft URL書き換えモジュール のために IIS7.

たとえば、次の設定では、既存のファイルまたはディレクトリに一致しないすべてのリクエストが確実に転送されます。 index.php ファイル。

mod_rewrite (.htaccess ドキュメントのルート ディレクトリまたは httpd.conf)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR] // IF is file (with size > 0)
RewriteCond %{REQUEST_FILENAME} -l [OR] // OR is symbolic link
RewriteCond %{REQUEST_FILENAME} -d      // OR is directory  
RewriteRule ^.*$ - [NC,L]               // DO NOTHING
RewriteRule ^.*$ index.php [NC,L]       // TRANSFER TO index.php

ISAPI_Rewrite Lite (IIS 設定の適切なダイアログ内)

// uses same syntax as mod_rewrite
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Microsoft URL書き換えモジュール (あなたの中で web.config ドキュメントのルート ディレクトリまたは構成ツリーのどこか)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="MatchExistingFiles" stopProcessing="true">
                    <match url="^.*$" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" pattern="" ignoreCase="false" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" pattern="" ignoreCase="false" />
                    </conditions>
                    <action type="None" />
                </rule>
                <rule name="RemapMVC" stopProcessing="true">
                    <match url="^.*$" />
                    <conditions logicalGrouping="MatchAll" />
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top