Error: Can't open cache file!
Error: Can't write cache!
Перенаправлення Безкоштовній хостинг

Перенаправлення

Метки: php

Директиви: Redirect, RedirectMatch

Redirect – служить для здійснення редиректа на інший сайт (url).

Синтаксис: Redirect [status] path url

[status] – необов'язкове поле, що визначає код повернення. Існуючі значення: permanent (301 — документ переміщений постійно), temp (302 — документ переміщений тимчасово), seeother (303 — дивитеся інший), gone (410 — прибраний).

path – локальна частина запрошуваного посилання

url – посилання, куди здійснюється редирект (перенаправлення).

Приклад:

Redirect / http://site.ru/

Redirect /test.php http://site.ru/test.php

У даному прикладі що всім запитало сторінку test.php відкриватиметься http://site.ru/test.php

Так, наприклад, при запиті welcome.php буде переадресація на http://site.ru/welcome.php

Директива RedirectMatch аналогічна директиві Redirect, за винятком того, що в параметри указується шаблон локальних сторінок у вигляді регулярних виразів. Наприклад:

RedirectMatch (.*)\.php$ http://www.site.ru/test.php

RedirectMatch (.*)\.jpg$ http://www.site.ru/test.gif

Можна зробити перенаправлення залежно від ip-адреса відвідувача:

RewriteCond %{REMOTE_ADDR} 12.345.67.89

RewriteRule ^/$ /errors.php [L]

У даному прикладі всім відвідувачам, що прийшли з ip-адреса 12.345.67.89 відкриватиметься сторінка errors.php.

Ви можете вказати декілька ip-адресов, і для кожного визначити своє правило перенаправлення:

RewriteCond %{REMOTE_ADDR} 12.345.67.89

RewriteRule ^/$ /welcome.php [L]

RewriteCond %{REMOTE_ADDR} 123.45.67.89

RewriteRule ^/$ /close.php [L]

RewriteCond %{REMOTE_ADDR} 98.765.43.21

RewriteRule ^/$ http://www.site.ru [L]

У результаті всім відвідувачам, що прийшли з адреси 12.345.67.89 відкриватиметься сторінка welcome.php, відвідувачам з ip-адреса 123.45.67.89 відкриється close.php, а що всі прийшли з адреси 98.765.43.21 будуть перенаправлені на сайт www.site.ru.

Приведені правила можуть бути розрізнятися на різних серверах, залежно від його конфігурації.

При необхідності визначити переадресацію для групи ip-адресов, слідує:

RewriteEngine On

RewriteCond %{REMOTE_ADDR} 12.345.67.89 [OR]

RewriteCond %{REMOTE_ADDR} 98.765.43.21

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ /welcome.php [L]

У приведеному прикладі всі відвідувачі з ip-адресов 98.765.43.21 і 12.345.67.89 переадресовуватимуться на сторінку welcome.php

Так само можна зробити перенаправлення залежно від тієї сторінки, з якою прийшов відвідувач:

RewriteCond %{HTTP_REFERER} http://www.site.ru/test.php

RewriteRule ^/welcome.php$ /errors.php [L]

В даному прикладі всім відвідувачам, що прийшли з адреси http://www.site.ru/test.php, замість сторінки welcome.php відкриватиметься сторінка errors.php.

Перенаправлення для різного роду вірусів і сканерів:

redirect /_vti_bin http://www.site.ru

redirect /scripts http://www.site.ru

redirect /MSADC http://www.site.ru

redirect /c http://www.site.ru

redirect /d http://www.site.ru

redirect /_mem_bin http://www.site.ru

redirect /msadc http://www.site.ru

RedirectMatch (.*)\cmd.exe$ http://www.site.ru $1

Директиви: Redirect, RedirectMatch

Redirect – служить для здійснення редиректа на інший сайт (url).

Синтаксис: Redirect [status] path url

[status] – необов'язкове поле, що визначає код повернення. Існуючі значення: permanent (301 — документ переміщений постійно), temp (302 — документ переміщений тимчасово), seeother (303 — дивитеся інший), gone (410 — прибраний).

path – локальна частина запрошуваного посилання

url – посилання, куди здійснюється редирект (перенаправлення).

Приклад:

Redirect / http://site.ru/

Redirect /test.php http://site.ru/test.php

У даному прикладі що всім запитало сторінку test.php відкриватиметься http://site.ru/test.php

Так, наприклад, при запиті welcome.php буде переадресація на http://site.ru/welcome.php

Директива RedirectMatch аналогічна директиві Redirect, за винятком того, що в параметри указується шаблон локальних сторінок у вигляді регулярних виразів. Наприклад:

RedirectMatch (.*)\.php$ http://www.site.ru/test.php

RedirectMatch (.*)\.jpg$ http://www.site.ru/test.gif

Можна зробити перенаправлення залежно від ip-адреса відвідувача:

RewriteCond %{REMOTE_ADDR} 12.345.67.89

RewriteRule ^/$ /errors.php [L]

У даному прикладі всім відвідувачам, що прийшли з ip-адреса 12.345.67.89 відкриватиметься сторінка errors.php.

Ви можете вказати декілька ip-адресов, і для кожного визначити своє правило перенаправлення:

RewriteCond %{REMOTE_ADDR} 12.345.67.89

RewriteRule ^/$ /welcome.php [L]

RewriteCond %{REMOTE_ADDR} 123.45.67.89

RewriteRule ^/$ /close.php [L]

RewriteCond %{REMOTE_ADDR} 98.765.43.21

RewriteRule ^/$ http://www.site.ru [L]

У результаті всім відвідувачам, що прийшли з адреси 12.345.67.89 відкриватиметься сторінка welcome.php, відвідувачам з ip-адреса 123.45.67.89 відкриється close.php, а що всі прийшли з адреси 98.765.43.21 будуть перенаправлені на сайт www.site.ru.

Приведені правила можуть бути розрізнятися на різних серверах, залежно від його конфігурації.

При необхідності визначити переадресацію для групи ip-адресов, слідує:

RewriteEngine On

RewriteCond %{REMOTE_ADDR} 12.345.67.89 [OR]

RewriteCond %{REMOTE_ADDR} 98.765.43.21

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ /welcome.php [L]

У приведеному прикладі всі відвідувачі з ip-адресов 98.765.43.21 і 12.345.67.89 переадресовуватимуться на сторінку welcome.php

Так само можна зробити перенаправлення залежно від тієї сторінки, з якою прийшов відвідувач:

RewriteCond %{HTTP_REFERER} http://www.site.ru/test.php

RewriteRule ^/welcome.php$ /errors.php [L]

В даному прикладі всім відвідувачам, що прийшли з адреси http://www.site.ru/test.php, замість сторінки welcome.php відкриватиметься сторінка errors.php.

Перенаправлення для різного роду вірусів і сканерів:

redirect /_vti_bin http://www.site.ru

redirect /scripts http://www.site.ru

redirect /MSADC http://www.site.ru

redirect /c http://www.site.ru

redirect /d http://www.site.ru

redirect /_mem_bin http://www.site.ru

redirect /msadc http://www.site.ru

RedirectMatch (.*)\cmd.exe$ http://www.site.ru $1