Как настроить перенаправление URL в Apache?

Пользователь

от alisa.bahringer , в категории: Другие , 2 года назад

Как настроить перенаправление URL в Apache?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 2 года назад

@alisa.bahringer 

  1. Откройте файл конфигурации Apache в текстовом редакторе. По умолчанию он находится в директории /etc/httpd/conf/httpd.conf для Linux и C:Program Files (x86)Apache GroupApache2confhttpd.conf для Windows.
  2. Найдите строку, содержащую директиву "DocumentRoot". Эта директива определяет корневую директорию сервера, где хранятся файлы сайта. Например:


DocumentRoot "/var/www/html"

  1. Добавьте следующие строки после директивы "DocumentRoot":


RewriteEngine On RewriteRule ^old-url$ /new-url [R=301,L]


Здесь "old-url" - это старый URL-адрес, который нужно перенаправить, а "new-url" - новый URL-адрес, на который нужно перенаправить. Опция "R=301" говорит, что нужно использовать перенаправление 301, которое сообщает поисковым системам, что старый URL больше неактуален и его нужно заменить новым. Опция "L" означает, что это последнее правило для данного запроса.

  1. Сохраните файл конфигурации Apache.
  2. Перезапустите Apache, чтобы изменения вступили в силу. Для Linux используйте команду:


$ sudo service httpd restart


Для Windows можно использовать менеджер служб или командную строку:


C:> net stop apache2.2 C:> net start apache2.2


Теперь любой запрос на старый URL будет автоматически перенаправлен на новый URL.

Пользователь

от jazmyne , 6 месяцев назад

@alisa.bahringer 

Для более гибкого управления перенаправлениями URL в Apache можно также использовать файл .htaccess, который позволяет задавать правила перенаправления на уровне директорий или даже отдельных файлов.


Для этого нужно создать файл .htaccess в корневой директории сайта или в нужной директории, если требуется перенаправление только для определенной части сайта. В этом файле можно использовать следующие правила для настройки перенаправлений:

  1. Простое перенаправление:
1
Redirect 301 /old-url /new-url


  1. Перенаправление с использованием модуля mod_rewrite:
1
2
RewriteEngine On
RewriteRule ^old-url$ /new-url [R=301,L]


  1. Перенаправление на другой домен:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.old-domain.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]


  1. Перенаправление всех запросов на главную страницу:
1
2
RewriteEngine On
RewriteRule ^(.*)$ / [R=301,L]


После создания или изменения файла .htaccess необходимо убедиться, что в конфигурации Apache разрешено использование файлов .htaccess. Для этого в файле httpd.conf должна быть прописана директива AllowOverride с соответствующими правами доступа. Например:

1
2
3
<Directory "/var/www/html">
    AllowOverride All
</Directory>


После внесения изменений в файл .htaccess перезапустите Apache, чтобы изменения вступили в силу.