ホームページ  >  記事  >  バックエンド開発  >  Iis7 は URL 書き込みモジュールを使用して、第 2 レベルのドメイン名のパン解析と書き換えを実装しますか?何をするか

Iis7 は URL 書き込みモジュールを使用して、第 2 レベルのドメイン名のパン解析と書き換えを実装しますか?何をするか

WBOY
WBOYオリジナル
2016-06-13 13:40:421066ブラウズ

Iis7 は URL 書き込みモジュールを使用して、第 2 レベルのドメイン名のパン解析と書き換えを実装しますか? ?
それを達成するにはどうすればよいですか?
第 2 レベルのドメイン名の書き換え
要件は次のとおりです:
1.www.site.com/ccc は www.site.com/index.php/ccc に書き換えられます

2.ccc . site.com を ccc.site.com/index.php/ccc に書き換えます

以下に書いたように1を実装しましたが、2に問題があります。何をすればよいかわかりません。助けてください

XML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="重写规则1 对于 域名泛解析" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{HTTP_HOST}" pattern="([^.www]+)\.site\.com" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{C:1}" appendQueryString="true" logRewrittenUrl="true" />
                </rule>
                <rule name="Imported Rule 1">
                    <match url="(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" logRewrittenUrl="true" />
                </rule>
            </rules>
            <rewriteMaps>
                <rewriteMap name="域名泛解析" />
            </rewriteMaps>
        </rewrite>
        <caching>
            <profiles>
                <remove extension=".html" />
                <add extension=".html" policy="DisableCache" kernelCachePolicy="DontCache" duration="00:00:30" />
            </profiles>
        </caching>
    </system.webSer



------解決策---------- ---- ------
ccc.site.com は、index.php/ccc に書き換えられ、index.php というページが表示されます。何か問題がありますか?
------解決策------------------
正規表現が正しくないようですが、これに変更した方が良いですが、

------解決策---------
なぜccc列がindex.phpの下にあるのでしょうか?分かりません。 。 。
index.php はパラメーターに基づいて ccc 列を動的に表示しますか?それとも、Web サイトにディレクトリindex.php/ccc がありますか?
------解決策------------------
次に、一時的に書き換えを無効にして、 ccc と直接入力します。 site.com/index.php/ccc
同じ効果が見られますか?
------解決策---------
必ずアドレスを直接入力して書き換える場合アドレスは両方とも同じです: ccc.site.com/index.php/ccc
しかし、表示される効果は異なります。PHP プログラムに問題がある可能性があります。PHP プログラムは、書き換える前に元の URL を直接読み取る可能性があります。
しかし、これは考えにくいです。書き換えたアドレスをアドレスバーに直接貼り付けると、さまざまな効果が得られると思いますか?

------解決策----------------------
汎解析ルールと www.site のターゲティング.com のルールは非常にわかりにくいようです。まず、「インポートされたルール 1」を削除してみてください。
------解決策---------
URL を書き換えてもブラウザのアドレスバーは変更されません。コンテンツ

については長い間、お客様のニーズがわかりませんでした。PATH_INFO
しか見ていませんでした。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。