1

У меня проблема с apache.

У моего сайта есть следующие правила:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule .* path/to/html/my.html [L]

Мне нужно создать правила только для домашней страницы для перенаправления в другой HTML-файл. Как я могу это сделать?

Старое правило должно работать для других страниц сайта.

Я пытаюсь это, но это не работает

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com$ [NC]
RewriteRule ^$ path/to/html/my-new.html [L]

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule ^/(.*) path/to/html/my.html [L]

1 ответ1

1

Если вы хотите изменить индексную страницу по умолчанию, чтобы при открытии посетителями сайта http://mysqite.com появлялся файл my.html, попробуйте сделать это в файле .htaccess:

DirectoryIndex my.html

Переписывать не требуется.


Редактировать:

Извините, я упустил вашу точку зрения о существующих правилах. Вы можете написать правила, как это:

RewriteRule ^ $ /path/to/html/my-new.html [L]

RewriteRule!^ /path /to /html /my-new.html $ path /to /html /my.html [L]

Таким образом, вы в основном говорите ему перенаправлять запросы с именем хоста только на my-new.html, а все остальное на my.html. Вторая строка явно исключает запрос my-new.html. Если это не указано явно, то при выполнении перезаписи первой строки будет запускаться вторая строка, и в конечном итоге все будет перенаправлено в my.html.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .