Переспрямуйте вкладену папку в кореневу папку в Apache, NGINX, IIS і Cloudflare

Мій сайт був у підпапці, і я вирішив перейти на кореневий рівень домену.

Головним завданням було зберегти всі статті на тому самому шляху, що й вкладена папка, одночасно перенаправляючи URL-адресу в корінь домену або інше розташування.

Apache

HTTP-сервер 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;
}

Тут модифікатор ^~ гарантує, що це розташування префікса й надалі матиме перевагу, якщо ви будете додавати будь-які розташування регулярних виразів у майбутньому.

  Як видалити обліковий запис Xfinity

IIS

У IIS ми можемо використовувати модуль Rewrite, щоб переписати URL-адреси, які знаходяться у вкладеній папці, і ми хочемо, щоб вони виглядали так, ніби вони були в корені. Ви можете редагувати файл web.config у кореневій папці web-сервера (%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-адреса збігається» введіть шаблон URL-адреси для підпапки, яка має відповідати правилу, наприклад https://example.com/subfolder.
  • Далі натисніть «Додати налаштування» та виберіть «URL-адреса пересилання» зі спадного меню.
  • Натисніть «Вибрати код стану» та виберіть 301 (постійне перенаправлення) або 302 (тимчасове перенаправлення).
  • Введіть цільову URL-адресу для кореневого домену та натисніть «Зберегти та розгорнути», щоб завершити.
  Як визначити напрямок подорожі за допомогою Google Maps

Наведений вище приклад перенаправляє все з https://techukraine.net.com/blog на https://techukraine.net.com

Підведенню

Як бачите, переспрямування або зіставлення вкладеної папки з кореневою або іншою URL-адресою є звичайним завданням і підтримується більшістю популярних браузерів із різними параметрами.

Далі дізнайтеся, як можна розмістити кілька веб-сайтів на одній IP-адресі.

Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?