Как скрыть часть пути из url при помощи .htaccess?
Подскажите как скрыть из ссылки часть пути?
К пример:
https://site.ru/moskva/knigi удалить moskva, чтобы получилось https://site.ru/knigi ?
Дополнительно:
Ответы:
Если москва у вас тоже используется, к примеру для сортировки, то не как. Ну или писать костыль на сессиях или куках. Смысл в том, что москву нужно в них вносить и вызывать там где нужно. Но из-за этого может поломаться логика контролера. Попробуйте посмотреть в сторону .htaccess.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для скрытия части пути из URL при помощи файла .htaccess вам необходимо использовать модуль мод_rewrite в Apache. Ниже приведен пример кода для скрытия части пути из URL:
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]
Этот код будет применяться только к файлам с расширением .php. В остальных случаях путь не будет скрыт.
Убедитесь, что модуль mod_rewrite включен в вашем веб-сервере и что файл .htaccess находится в корневой директории вашего сайта. После внесения изменений в .htaccess файл, очистите кеш браузера и проверьте, что правило перенаправления работает корректно.