Використання rewritecond в mod_rewrite

Відео: Урок по створенню Людино Зрозумілих URL

Використання RewriteCond в mod_rewrite

Відео: What is .htaccess and How to Use mod_rewrite Module PHP Urdu / Hindi

Минулого разу ми з Вами використовували mod_rewrite для заборони доступу до файлу. Дуже важливим моментом було те, що винятків не робилося, тобто заборона доступу абсолютно для всіх. Однак, mod_rewrite дозволяє нам поставити умови через RewriteCond, при виконанні лише яких буде виконано правило в RewriteRule.

Давайте з Вами розберемо наступний приклад:

RewriteEngine on
RewriteCond% {REMOTE_ADDR}!^127.0.0.1$
RewriteRule^secret.php $ -[F]

У директиві RewriteCond вказуються умови, виконавши які, буде викликано правило. Ми написали, що якщо IP-адреса (конструкція % {REMOTE_ADDR}) не є 127.0.0.1 (Регулярний вираз "!^ 127.0.0.1 $"), То в цьому випадку треба викликати RewriteRule і закрити доступ до файлу.




Розберемо ще один приклад з використанням RewriteCond:

RewriteEngine on
RewriteCond% {REMOTE_ADDR}^127.0.0.1$ [OR]
RewriteCond% {REMOTE_ADDR}^127.0.0.2$
RewriteRule^secret.php $ -[F]



В даному випадку ми вже написали дві умови. Для того, щоб виконувалося правило, необхідним є дотримання всіх попередніх перед ним умов. Але якщо ми поставимо прапор [OR], то тоді досить виконання або його запровадження, або наступного за ним.

Відео: LINUX: Redirect URLS with Apache mod_rewrite

Крім прапора [OR], є прапор [NC] - що означає ігнорування регістра символів. У разі, з IP-адресою він сенсу не має. Тому давайте з Вами розберемо ще такий приклад:

RewriteEngine on
RewriteCond% {HTTP_REFERER}^http://(www.)?example1.com/.*$ [NC, OR] RewriteCond% {HTTP_REFERER} ^ http: // (www .)? example2 .com /.*$ [NC] RewriteRule ^ secret.php $ - [F]

В даному прикладі ми заборонили доступ до файлу secret.php, якщо користувач прийшов з сайту example1.com або example2.com.

Відео: Apache Rewrite Rules

Як бачите, використання RewriteCond в mod_rewrite зовсім важке заняття. Єдина проблема тут - це регулярні вирази. Якщо Ви їх ще не вмієте писати, то обов`язково пройдіть цей курс - там регулярні вирази детально розбираються.

Поділися в соціальних мережах:

Схожі
Умовний оператор в jаvascriptУмовний оператор в jаvascript
Як дізнатися реальний ip-адреса відвідувачаЯк дізнатися реальний ip-адреса відвідувача
Як дізнатися ip-адреса відвідувача через phpЯк дізнатися ip-адреса відвідувача через php
Сайт з www і безСайт з www і без
Скорочення url-адреси на phpСкорочення url-адреси на php
Як створити файл .htaccessЯк створити файл .htaccess
Налаштування сайту на joomlaНалаштування сайту на joomla
Приклади регулярних виразівПриклади регулярних виразів
Як прибрати index.php з urlЯк прибрати index.php з url
Конструкція where в sqlКонструкція where в sql
» » Використання rewritecond в mod_rewrite