Как использовать файл .htaccess для настройки веб-сервера?

Как можно настроить файл .htaccess так, чтобы первое правило применялось ко всем страницам сайта, а второе только когда в URL присутствует /search/? Не смотря на то, что я поменял их местами, всё равно работает только первое правило.
  • 19 декабря 2023 г. 22:17
Ответы на вопрос 2
Для настройки веб-сервера с использованием файла .htaccess вы можете использовать следующий подход:

1. Убедитесь, что файл .htaccess находится в корневой директории вашего сайта.

2. Для применения первого правила ко всем страницам сайта добавьте следующий код в ваш файл .htaccess:

```
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ /ваша_страница_первого_правила.html [L]
```

Вместо `/ваша_страница_первого_правила.html` укажите путь к странице или действию, которое вы хотите применить ко всем страницам сайта.

3. Для применения второго правила только когда в URL присутствует `/search/` добавьте следующий код после первого правила:

```
RewriteCond %{REQUEST_URI} ^/search/ [NC]
RewriteRule ^(.*)$ /ваша_страница_второго_правила.html [L]
```

Вместо `/ваша_страница_второго_правила.html` укажите путь к странице или действию, которое вы хотите применить когда в URL есть `/search/`.

4. Убедитесь, что у вас включен модуль `mod_rewrite` в конфигурации вашего веб-сервера.

5. Сохраните и загрузите файл .htaccess на ваш сервер.

Теперь первое правило будет применяться ко всем страницам сайта, а второе только когда в URL присутствует `/search/`.
# https://city.site.com/search/
RewriteCond %{HTTP_HOST} ^(?>www\.|)([\w-]+)\.site\.com$ [NC]
RewriteRule ^search/$ list.php?crt_city=%1 [L,QSA]

# https://city.site.com/
RewriteCond %{HTTP_HOST} ^(?>www\.|)([\w-]+)\.site\.com$ [NC]
RewriteRule ^$ st.php?crt_dealer=%1 [L,QSA]
Похожие вопросы