Использование виртуального каталога в URL в файле htaccess - PullRequest
0 голосов
/ 13 февраля 2019

Мы пытаемся создать виртуальную папку после определенного URL.Когда пользователь достигает виртуальной папки, он должен отображать страницу индекса вместо ошибки 404.

Мы попытались использовать правило перезаписи в файле .htaccess, но оно продолжает отображать ошибку 404.

RewriteEngine On
RewriteRule ^p/(.*)$ index.php?/$1 [R=301,L]

В адресной строке URL, когда пользователь, например, вводит: https://ecitizen.in/p/002. '002' - виртуальный каталог.Он должен загрузить индексную страницу https://ecitizen.in/p/index.php без фактического перенаправления или изменения введенного фактического URL.Прямо сейчас, когда мы набираем этот URL: https://ecitizen.in/p/002 с указанным выше кодом, он отображает 404 не найдена ошибка

1 Ответ

0 голосов
/ 13 февраля 2019

Ответ зависит от того, находится ли этот файл .htaccess в корне документа или в этом каталоге /p - в любом случае, вы захотите удалить флаг R=301 (вот что делаетэто в перенаправлении HTTP 301).

Если файл .htaccess имеет вид docroot

Вам необходимо сопоставить каталог /p с перезаписываемым.

RewriteRule ^p/(.*)/?$ /p/index.php?/$1 [L]

Если файл .htaccess находится в каталоге / p

Вам необходимо удалить каталог /p из совпадения.

RewriteRule ^(.*)/?$ index.php?/$1 [L]
...