Переміщення сайту з підпапки до кореневого каталогу: інструкції для різних серверів
Мій веб-сайт раніше розташовувався у підкаталозі, але я вирішив перемістити його до кореневої директорії домену.
Основна мета полягала в тому, щоб зберегти структуру всіх статей, як і в підпапці, але перенаправити URL-адреси до кореня домену або іншого місця.
Налаштування перенаправлення на Apache
Веб-сервер Apache використовує функціонал `RewriteCond`. Щоб здійснити цю зміну, необхідно відредагувати файл `.htaccess` або `httpd.conf`, додавши наступні рядки:
RewriteEngine on RewriteBase / RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]
У цьому випадку за основу взято `/`, а `RewriteRule` обробляє всі URL-адреси у підкаталозі, використовуючи регулярні вирази. Параметр `R=301` забезпечує постійне перенаправлення.
Налаштування перенаправлення на Nginx
Подібне перенаправлення можна реалізувати за допомогою веб-сервера Nginx, використовуючи директиву `rewrite` у файлі `/etc/nginx/nginx.conf` або `/etc/nginx/conf.d/default.conf`:
location ^~ /subfolder { rewrite ^/subfolder(.*)$ $1 last; }
Модифікатор `^~` гарантує, що це розташування з префіксом матиме пріоритет, навіть якщо в майбутньому будуть додані інші розташування з регулярними виразами.
Налаштування перенаправлення на IIS
В IIS можна скористатися модулем Rewrite для перенаправлення URL-адрес з підкаталогу до кореня. Для цього відредагуйте файл `web.config`, розташований у кореневій папці веб-сервера (%SystemDrive%inetpubwwwroot), додавши наступний конфігураційний блок:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Root_URL_Rewrite" stopProcessing="true"> <match url="^(.*)" /> <action type="Rewrite" url="/subfolder/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Також можна використовувати графічний інтерфейс “Rewrite URL” в диспетчері IIS для створення правила перенаправлення.
Налаштування перенаправлення через Cloudflare
Перенаправлення можна налаштувати через Cloudflare, виконавши наступні кроки:
- Увійдіть до свого облікового запису Cloudflare.
- Виберіть потрібний обліковий запис Cloudflare для домену, для якого потрібно додати перенаправлення.
- Перейдіть до розділу “Правила”, а потім оберіть вкладку “Правила сторінки”.
- У розділі “Правила сторінки” натисніть “Створити правило сторінки”. Відкриється діалогове вікно для створення правила.
- У полі “Якщо URL-адреса збігається” введіть шаблон URL-адреси для підпапки, наприклад: `https://example.com/subfolder`.
- Натисніть “Додати налаштування” та виберіть “URL-адреса пересилання” зі списку.
- Натисніть “Вибрати код стану” і оберіть `301` (постійне перенаправлення) або `302` (тимчасове перенаправлення).
- Введіть цільову URL-адресу для кореневого домену та натисніть “Зберегти та розгорнути”, щоб завершити налаштування.
Наприклад, наведене вище налаштування перенаправить всі запити з `https://techukraine.net.com/blog` на `https://techukraine.net.com`.
Висновок
Як бачите, перенаправлення запитів з підкаталогу на кореневу або іншу URL-адресу є досить поширеним завданням, яке підтримується більшістю популярних веб-серверів і сервісів з різними варіантами налаштування.
Далі ви можете дізнатися, як розмістити декілька веб-сайтів на одній IP-адресі.
Чи була ця стаття корисною? Поділіться нею зі своїми друзями!