Apache варіанти перенаправлення посилань - crossroads
Нерідко виникає потреба в перенаправлення посилань сайт всередині домену, або за його межі. Нижче надані найпоширеніші завдання і їх рішення.
Для вирішення цих завдань на стороні Apache повинен бути включений Mod Rewrite, а PHP повинен працювати як модуль Apache.
Рішення. Редирект з domain.com на www.domain.com. У корені сайту потрібно створити файл з ім'ям .htaccess і переконатися, що Mod Rewrite включений для вашого домену. У файлі пишемо наступне ...
Рядок «RewriteEngine on» включає Mod Rewrite для вашого сайту, в разі якщо Mod Rewrite на стороні Apache включений, але для вашого домену вимкнений. Її наявність так само не заважає, якщо Mod Rewrite для вашого домену вже включений.
Рішення. Так само, як і в попередньому прикладі, створюємо файл .htaccess такого змісту ...
Рішення. У файлі .htaccess пишемо наступне ...
Рішення. в файлі .htaccess пишемо наступне ...
Сам файл розміщуємо в кореневу папку домену domain.com.
Рішення. Домени не повинні бути припарковані один до одного на боці реєстратора. Один домен не повинен бути аліасом іншого на стороні Apache. У файлі конфігурації віртуальних хостів повинні бути окремі записи для обох доменів. DocumentRoot (так само, як і блок Directory) у обох доменів повинні бути ідентичні. (Як правило, конфігураційні файли віртуальних хостів лежать в каталозі / etc / apache2 / sites-available). Тобто обидва вони дивляться в одну і ту ж папку, де і розташовується сам сайт. Припустимо, що запис віртуального хоста для domain.com виглядає так:
Додаємо в неї редирект, після чого запис виглядає наступним чином:
Для домену domain.net потрібно зробити те ж саме, але з наступним перенаправленням:
Рішення. В каталог / admin необхідно помістити файл .htaccess такого змісту ...
Якщо необхідно закрити доступ до певного файлу (наприклад, до domain.com/admin.php), то пишемо те ж саме, вказавши шлях до файлу.
Файл .htaccess ж поміщаємо в корінь сайту.