ホームページ バックエンド開発 PHPチュートリアル Apache_PHP チュートリアルの RewriteCond ルール パラメーターの詳細な紹介

Apache_PHP チュートリアルの RewriteCond ルール パラメーターの詳細な紹介

Jul 20, 2016 am 11:16 AM
apache rewritecond 導入 パラメータ ルール 詳しい 声明

Apache の RewriteCond ステートメントは私にとってずっと難解な点で、何度も理解しようとしましたが、今回ようやくそれが何を意味するのかが大まかにわかりました。 ​

RewriteCond はプログラムの if ステートメントと同じです。つまり、1 つまたは複数の条件が満たされると、RewriteCond のすぐ下の RewriteRule ステートメントが実行されます。これが RewriteCond の最も独創的で基本的な関数です。理解を容易にするために、次のことを考えてみましょう。いくつかの例を見てみましょう。

コードをコピー コードは次のとおりです。
リライトエンジンオン
RewriteCond %{HTTP_USER_AGENT} ^Mozilla//5/.0.*
RewriteRuleindex.phpindex.m.php
RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
RewriteRule インデックス.php インデックス.L.php
RewriteRule インデックス.php インデックス.b.php


上記のステートメントの機能は、FF ブラウザを使用して Index.php ファイルにアクセスすると、一部のモバイル端末を使用して Index.m.php ファイルにアクセスできるようにすることです。別のブラウザを使用してアクセスすると、index.php ファイルにリダイレクトされます。より鮮明に言うと、上記のステートメントは、プログラム内の次のステートメントと同等です (PHP ステートメントを例に挙げます):

コードをコピー コードは次のとおりです。
if($_SERVER['HTTP_USER_AGENT'] == 'Mozilla/5.0')
{
//index.m.phpにアクセスします
}
else if($_SERVER['HTTP_USER_AGENT'] == 'Lynx')
{
//index.L.phpにアクセスします
}
それ以外
//index.b.phpにアクセスします


例 2 を見てください:
RewriteCond %{HTTP_REFERER} (www.test.cn)
RewriteRule (.*)$ test.php
上記のステートメントの機能は、以前にアクセスしたページのホスト アドレスが www.test.cn であれば、現在どのページにアクセスしているかに関係なく、test.php にアクセスすることになります。
例 3 を見てください:

コードをコピー コードは次のとおりです。
RewriteCond %{REMOTE_HOST} ^host1.* [OR]
RewriteCond %{REMOTE_HOST} ^host2.* [OR]
RewriteCond %{REMOTE_HOST} ^host3.*
RewriteRule (.*)$ test.php


上記のステートメントの機能は、アドレスが host1、host2、または host3 の場合、test.php にジャンプすることです。ここから、RewriteCond ステートメント間のデフォルトは AND であることがわかります。OR が必要な場合は、明確に記述する必要があります。
ここでは、あなたが収集したいくつかの便利な書き換えルールを示します:
RewriteCond %{REQUEST_FILENAME} !-f //ファイルが存在する場合、以下のRewriteRuleを実行せずに直接ファイルにアクセスします(ファイルが存在しない場合、またはファイルが存在しない場合は書き換えが行われます)
RewriteCond %{REQUEST_FILENAME} !-d //#ディレクトリが存在する場合、RewriteRuleを実行せずにディレクトリに直接アクセスします
RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$ //#これらの接尾辞を持つファイルの場合は、そのファイルにアクセスします直接書き直すことはできません

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/372370.html技術記事 Apache の RewriteCond ステートメントは私にとっていつも難しい点でした。何度も理解しようとしましたが、今回ようやく RewriteCond が何を意味するのかがわかりました...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

H5プロジェクトの実行方法 H5プロジェクトの実行方法 Apr 06, 2025 pm 12:21 PM

H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

サーバー側でキャラクターエンコードを設定する方法ブートストラップテーブルを解決する方法 サーバー側でキャラクターエンコードを設定する方法ブートストラップテーブルを解決する方法 Apr 07, 2025 pm 12:00 PM

サーバー側に文字エンコードを設定して、文字化けしたブートストラップテーブルを解決するには、次の手順に従う必要があります。サーバー文字のエンコーディングを確認します。サーバー構成ファイルを編集します。 EncodingをUTF-8に設定します。サーバーを保存して再起動します。エンコーディングを確認します。

ApacheでCGIディレクトリを設定する方法 ApacheでCGIディレクトリを設定する方法 Apr 13, 2025 pm 01:18 PM

ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

Apacheを始める方法 Apacheを始める方法 Apr 13, 2025 pm 01:06 PM

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

Debian OpenSSL構成を確認する方法 Debian OpenSSL構成を確認する方法 Apr 12, 2025 pm 11:57 PM

この記事では、DebianシステムのOpenSSL構成を確認して、システムのセキュリティステータスをすばやく把握できるように、いくつかの方法を紹介します。 1.最初にOpenSSLバージョンを確認し、OpenSSLがインストールされているかどうかを確認し、バージョン情報を確認します。端末に次のコマンドを入力します。OpenSSlversionがインストールされていない場合、システムはエラーを促します。 2。構成ファイルを表示します。 OpenSSLのメイン構成ファイルは、通常/etc/ssl/openssl.cnfにあります。テキストエディター(Nanoなど)を使用して、次のように表示できます。sudonano/etc/ssl/openssl.cnfこのファイルには、キー、証明書、暗号化アルゴリズムなどの重要な構成情報が含まれています。 3。OPEを利用します

Debian Apacheログを使用してWebサイトのパフォーマンスを向上させる方法 Debian Apacheログを使用してWebサイトのパフォーマンスを向上させる方法 Apr 12, 2025 pm 11:36 PM

この記事では、Debianシステムの下でApacheログを分析することにより、Webサイトのパフォーマンスを改善する方法について説明します。 1.ログ分析の基本Apacheログは、IPアドレス、タイムスタンプ、リクエストURL、HTTPメソッド、応答コードなど、すべてのHTTP要求の詳細情報を記録します。 Debian Systemsでは、これらのログは通常、/var/log/apache2/access.logおよび/var/log/apache2/error.logディレクトリにあります。ログ構造を理解することは、効果的な分析の最初のステップです。 2。ログ分析ツールさまざまなツールを使用してApacheログを分析できます。コマンドラインツール:GREP、AWK、SED、およびその他のコマンドラインツール。

Apacheのサーバー名以上の削除方法 Apacheのサーバー名以上の削除方法 Apr 13, 2025 pm 01:09 PM

Apacheから追加のservernameディレクティブを削除するには、次の手順を実行できます。追加のservernameディレクティブを識別して削除します。 Apacheを再起動して変更を有効にします。構成ファイルを確認して、変更を確認します。サーバーをテストして、問題が解決されていることを確認します。

Apacheバージョンを表示する方法 Apacheバージョンを表示する方法 Apr 13, 2025 pm 01:15 PM

Apacheサーバーでバージョンを表示するには3つの方法があります。コマンドライン(Apachectl -vまたはapache2ctl -v)を介して、サーバーステータスページ(http://< server ipまたはdomain name>/server -status)を確認します。

See all articles