Appacheのrewrite技術を使う
3333 ワード
Appacheのrewrite技術を使う
PHPプロジェクトではURLリダイレクト技術が必要ですが、基本的には/user/heiyelurenを/user.php?uid=heiyelurenのようなURLにリダイレクトする必要があります。アナログは静止画のようです。雨靴の基本的な安全予防などに役立ちます。それならrewriteはいい解決方法のようです。
Appacheでrewriteを実行するには、まずmod(u)をインストールしなければなりません。rewriteのセットは、一つのmod uです。rewrite.cファイルは、必ずconfigureの時にmod_を置いてください。rewriteでインストールできます。一般的にrewriteを配置すれば、httpd.com nfの中に配置してもいいし、ウェブページの現在のディレクトリのhttaccessファイルに定義してそのファイルにリダイレクトすることができます。そうしたら、非常に柔軟性があります。同様に仮想ホストユーザーにも適してすることができます。
httaccessファイルの例を見ます。
1<IfModule mod_rewrite.c>2 RewriteEngine On 3 RewriteBase/4 RewriteCond%FILENAME-f[OR]5 RewriteCond%FILENAME-d6 RewriteRule^^.*-[S=42]7 8腩RewriteRule^share/share.php[QSA,L]9 RewriteRule^(^/)/?/?アメリカ.tags.php?(=1[QSA,L]10 RewriteRule^city/([^/]+)/?アメリカ.city.php?(=$1[QSA,L]11玣RewriteRule^/////////////////////)/?アメリカ.share.php?id=$1&s=1&selTime=$2[QSA,L]12菁RewriteRule^(*)/day/([^/]+)/?アメリカ.share.php?id=$1&s=1&selTime=$2[QSA,L]13 RewriteRule^([^/]+)/day/([^/]+)/?アメリカ.share.php?id=$1&s=1&selTime=$2[QSA,L]15 RewriteRule^([^/]+)/week/([^/]+)/?アメリカ.share.php?id=$1&s=2&selTime=$2[QSA,L]16 RewRiteRule^([^/]+)/month/([^/]+)/?アメリカ.share.php?id=$1&s=3&selTime=$2[QSA,L]17 RewriteRule^([^/]+)/day/?アメリカ.share.php?id=$1&s=1 [QSA,L]19 RewriteRule^([^/]+)/week/?アメリカ.share.php?id=$1&s=2 [QSA,L]20 RewriteRule^([^/]+)/monoth/?アメリカ.share.php?id=$1&s=3 [QSA,L]21 22 RewriteRule^([^/]+)/?アメリカ.share.php?id=$1 [QSA,L]23
長いでしょう。肝心な内容に簡単に注目します。IfModule>の間は定義された内容です。RewriteEngineはURLを実行するかどうかを決定し、RewriteBaseは基本的な経路は何ですか?一番重要なのは次のRewriteRuleです。書き換えが必要な規則です。ここでPerlルールに対応する正規表現を適用しました。
Text: . 任意の文字にマッチ [chars 現在の文字にマッチ [^chars 現在の文字にマッチしない text 1|text 2はtext 1またはtext 2のいずれかを含む。
Quautifers: ? ゼロか一つですか番号前の文字 * ゼロまたは任意の長さの任意の文字 + 1つまたは任意の長さの文字
Grouping: (text) Grouping of text (eigther to set the borders of an alternative or for making backreferences where the Nth group can be used on the RHS of a RewriteRule with$N)
アンチョス: ^ 内容にマッチした開始フラグ $ 内容にマッチした終了フラグ
Escaping: \char を使用して特殊文字の意味を変換します。「.[]()」などの文字の意味を含みます。
基本的なルールは上記の通りです。たとえば、下記の正規表現:^/(^/)/~([^/]+)/(*)$は、イメージ/Language/~Realname//////////Fileとマッチする経路です。
この角度から上の内容を見れば分かりやすいです。簡単にRewriteRuleコマンドのルールを見ます。RewriteRule アクセスのパス 指し示すべき真実の道はこれでよく分かります。例えば私は/user/heiyelurenを/user.php?uid=heiyelurenにリダイレクトしたいです。それでは私の規則はこうしなければなりません。 ^/user.php?uid=$2[QSA,L]
一対三を挙げると、ルールが分かりやすくなります。どうやって書いたらいいですか?
はっきりしていませんが、添付のリンクを参考にして、具体的な内容をより深く理解してください。うまく書けませんでした。ご了承ください。
附:Appache Rewrite技術http://www.yujs.com/recommendation/004.htm Appacheモジュールmod_rewrite http://linux.dalouis.com/doc/apache2.0/mod/mod_rewrite. URL書き換えガイドhttp://linux.dalouis.com/doc/apache2.0/misc/rewriteguide.html Apache HTTPサーバ2.0バージョンの文書http://linux.dalouis.com/doc/apache2.0/
PHPプロジェクトではURLリダイレクト技術が必要ですが、基本的には/user/heiyelurenを/user.php?uid=heiyelurenのようなURLにリダイレクトする必要があります。アナログは静止画のようです。雨靴の基本的な安全予防などに役立ちます。それならrewriteはいい解決方法のようです。
Appacheでrewriteを実行するには、まずmod(u)をインストールしなければなりません。rewriteのセットは、一つのmod uです。rewrite.cファイルは、必ずconfigureの時にmod_を置いてください。rewriteでインストールできます。一般的にrewriteを配置すれば、httpd.com nfの中に配置してもいいし、ウェブページの現在のディレクトリのhttaccessファイルに定義してそのファイルにリダイレクトすることができます。そうしたら、非常に柔軟性があります。同様に仮想ホストユーザーにも適してすることができます。
httaccessファイルの例を見ます。
1<IfModule mod_rewrite.c>2 RewriteEngine On 3 RewriteBase/4 RewriteCond%FILENAME-f[OR]5 RewriteCond%FILENAME-d6 RewriteRule^^.*-[S=42]7 8腩RewriteRule^share/share.php[QSA,L]9 RewriteRule^(^/)/?/?アメリカ.tags.php?(=1[QSA,L]10 RewriteRule^city/([^/]+)/?アメリカ.city.php?(=$1[QSA,L]11玣RewriteRule^/////////////////////)/?アメリカ.share.php?id=$1&s=1&selTime=$2[QSA,L]12菁RewriteRule^(*)/day/([^/]+)/?アメリカ.share.php?id=$1&s=1&selTime=$2[QSA,L]13 RewriteRule^([^/]+)/day/([^/]+)/?アメリカ.share.php?id=$1&s=1&selTime=$2[QSA,L]15 RewriteRule^([^/]+)/week/([^/]+)/?アメリカ.share.php?id=$1&s=2&selTime=$2[QSA,L]16 RewRiteRule^([^/]+)/month/([^/]+)/?アメリカ.share.php?id=$1&s=3&selTime=$2[QSA,L]17 RewriteRule^([^/]+)/day/?アメリカ.share.php?id=$1&s=1 [QSA,L]19 RewriteRule^([^/]+)/week/?アメリカ.share.php?id=$1&s=2 [QSA,L]20 RewriteRule^([^/]+)/monoth/?アメリカ.share.php?id=$1&s=3 [QSA,L]21 22 RewriteRule^([^/]+)/?アメリカ.share.php?id=$1 [QSA,L]23
長いでしょう。肝心な内容に簡単に注目します。IfModule>の間は定義された内容です。RewriteEngineはURLを実行するかどうかを決定し、RewriteBaseは基本的な経路は何ですか?一番重要なのは次のRewriteRuleです。書き換えが必要な規則です。ここでPerlルールに対応する正規表現を適用しました。
Text: . 任意の文字にマッチ [chars 現在の文字にマッチ [^chars 現在の文字にマッチしない text 1|text 2はtext 1またはtext 2のいずれかを含む。
Quautifers: ? ゼロか一つですか番号前の文字 * ゼロまたは任意の長さの任意の文字 + 1つまたは任意の長さの文字
Grouping: (text) Grouping of text (eigther to set the borders of an alternative or for making backreferences where the Nth group can be used on the RHS of a RewriteRule with$N)
アンチョス: ^ 内容にマッチした開始フラグ $ 内容にマッチした終了フラグ
Escaping: \char を使用して特殊文字の意味を変換します。「.[]()」などの文字の意味を含みます。
基本的なルールは上記の通りです。たとえば、下記の正規表現:^/(^/)/~([^/]+)/(*)$は、イメージ/Language/~Realname//////////Fileとマッチする経路です。
この角度から上の内容を見れば分かりやすいです。簡単にRewriteRuleコマンドのルールを見ます。RewriteRule アクセスのパス 指し示すべき真実の道はこれでよく分かります。例えば私は/user/heiyelurenを/user.php?uid=heiyelurenにリダイレクトしたいです。それでは私の規則はこうしなければなりません。 ^/user.php?uid=$2[QSA,L]
一対三を挙げると、ルールが分かりやすくなります。どうやって書いたらいいですか?
はっきりしていませんが、添付のリンクを参考にして、具体的な内容をより深く理解してください。うまく書けませんでした。ご了承ください。
附:Appache Rewrite技術http://www.yujs.com/recommendation/004.htm Appacheモジュールmod_rewrite http://linux.dalouis.com/doc/apache2.0/mod/mod_rewrite. URL書き換えガイドhttp://linux.dalouis.com/doc/apache2.0/misc/rewriteguide.html Apache HTTPサーバ2.0バージョンの文書http://linux.dalouis.com/doc/apache2.0/