Как я могу добавить правило перезаписи в htaccess только для домашней страницы?

315
PavelKozlov

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

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

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

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

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

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

RewriteCond % text/html [NC] RewriteCond % ^mysqite\.com$ [NC] RewriteRule ^$ path/to/html/my-new.html [L]  RewriteCond % text/html [NC] RewriteCond % ^mysqite\.com [NC] RewriteRule ^/(.*) path/to/html/my.html [L] 
1

1 ответ на вопрос

1
user2528260

Если вы хотите изменить индексную страницу по умолчанию, чтобы при открытии посетителями сайта 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.

Это работает, хорошо, спасибо, но как я могу переписать на другие страницы? PavelKozlov 6 лет назад 0
Извините, я пропустил часть вашего вопроса. Я изменил ответ выше, пожалуйста, проверьте. user2528260 6 лет назад 0
Thanx! Оно работает!!! PavelKozlov 6 лет назад 0