ホームページ > バックエンド開発 > PHPチュートリアル > Apache_PHP チュートリアルでの RewriteCond ルール パラメーターの詳細な導入の簡単な分析

Apache_PHP チュートリアルでの RewriteCond ルール パラメーターの詳細な導入の簡単な分析

WBOY
リリース: 2016-07-21 15:01:32
オリジナル
812 人が閲覧しました

RewriteCond は、プログラムの if ステートメントと同じです。これは、1 つまたは複数の条件が満たされた場合に、RewriteCond のすぐ下の RewriteRule ステートメントが実行されることを意味します。これは、RewriteCond の最も独創的で基本的な関数です。いくつかの例を見てください。

コードをコピーします コードは次のとおりです:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^Mozilla//5/.0.*
RewriteRuleindex.php HTTP_USER_AGENT} ^Lynx .*
RewriteRuleindex .phpindex.L.php
RewriteRuleindex.phpindex.b.php

上記のステートメントの機能は、FFブラウザを使用してindex.phpファイルにアクセスすると、ファイルにアクセスするときに自動的に一部のモバイル端末でindex.m.phpにアクセスすると、実際にはindex.phpファイルにアクセスする際にindex.L.phpにアクセスすることになり、他のブラウザでアクセスすると、index.phpにアクセスします。 .b.php。より鮮明に言うと、上記のステートメントは、プログラム
内の次のステートメントと同等です (PHP ステートメントを例に挙げます):
コードをコピーします コードは次のとおりです:
if($_SERVER ['HTTP_USER_AGENT'] = = 'Mozilla/5.0')
{
//index.m.phpにアクセスします
}
else if($_SERVER['HTTP_USER_AGENT'] == 'Lynx')
{
/ //index.L.php へのアクセスへジャンプ

}
else
//index.b.php へのアクセスへジャンプ

例 2 を見てください:
RewriteCond %{HTTP_REFERER} (www.test.cn)
RewriteRule (.*)$ test.php
上記のステートメントの機能は、以前にアクセスしたページのホスト アドレスが www.test.cn の場合、現在どのページにアクセスしているかに関係なく、テストにジャンプすることです。 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/327986.html技術記事 RewriteCond は、プログラムの if ステートメントと同じです。これは、1 つまたは複数の条件が満たされた場合に、RewriteCond のすぐ下の RewriteRule ステートメントが実行されることを意味します。これがオリジナルであり、基本です...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート