Как скрыть часть пути из url при помощи .htaccess?

Ссылка скопирована
1 ответ

Подскажите как скрыть из ссылки часть пути?
К пример:
https://site.ru/moskva/knigi удалить moskva, чтобы получилось https://site.ru/knigi ?

Дополнительно:

Ответы:

Если москва у вас тоже используется, к примеру для сортировки, то не как. Ну или писать костыль на сессиях или куках. Смысл в том, что москву нужно в них вносить и вызывать там где нужно. Но из-за этого может поломаться логика контролера. Попробуйте посмотреть в сторону .htaccess.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

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

RewriteEngine On
RewriteBase /
 
# Скрыть путь /public_html/ из URL
RewriteRule ^public_html/(.*)$ $1 [L]

RewriteEngine On RewriteBase / # Скрыть путь /public_html/ из URL RewriteRule ^public_html/(.*)$ $1 [L]

В данном примере, все запросы, начинающиеся с /public_html/ будут перенаправлены на URL без этой части пути. Например, запрос /public_html/page.php будет обработан как /page.php.

Вы также можете использовать RewriteCond для добавления условий к правилам перенаправления. Например, если вы хотите скрыть путь только для файлов с расширением .php, вы можете модифицировать правило следующим образом:

RewriteEngine On
RewriteBase /
 
# Скрыть путь /public_html/ только для файлов с расширением .php
RewriteCond %{REQUEST_URI} ^/public_html/(.*\.php)$
RewriteRule ^public_html/(.*)$ $1 [L]

RewriteEngine On RewriteBase / # Скрыть путь /public_html/ только для файлов с расширением .php RewriteCond %{REQUEST_URI} ^/public_html/(.*\.php)$ RewriteRule ^public_html/(.*)$ $1 [L]

Этот код будет применяться только к файлам с расширением .php. В остальных случаях путь не будет скрыт.

Убедитесь, что модуль mod_rewrite включен в вашем веб-сервере и что файл .htaccess находится в корневой директории вашего сайта. После внесения изменений в .htaccess файл, очистите кеш браузера и проверьте, что правило перенаправления работает корректно.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно