@alisa.bahringer
DocumentRoot "/var/www/html"
RewriteEngine On RewriteRule ^old-url$ /new-url [R=301,L]
Здесь "old-url" - это старый URL-адрес, который нужно перенаправить, а "new-url" - новый URL-адрес, на который нужно перенаправить. Опция "R=301" говорит, что нужно использовать перенаправление 301, которое сообщает поисковым системам, что старый URL больше неактуален и его нужно заменить новым. Опция "L" означает, что это последнее правило для данного запроса.
$ sudo service httpd restart
Для Windows можно использовать менеджер служб или командную строку:
C:> net stop apache2.2 C:> net start apache2.2
Теперь любой запрос на старый URL будет автоматически перенаправлен на новый URL.
@alisa.bahringer
Для более гибкого управления перенаправлениями URL в Apache можно также использовать файл .htaccess, который позволяет задавать правила перенаправления на уровне директорий или даже отдельных файлов.
Для этого нужно создать файл .htaccess в корневой директории сайта или в нужной директории, если требуется перенаправление только для определенной части сайта. В этом файле можно использовать следующие правила для настройки перенаправлений:
1
|
Redirect 301 /old-url /new-url |
1 2 |
RewriteEngine On RewriteRule ^old-url$ /new-url [R=301,L] |
1 2 3 |
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.old-domain.com$ [NC] RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L] |
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, чтобы изменения вступили в силу.