Мне нужно добавить RewriteRule
, который работает только в том случае, если в URL есть определенная строка, в противном случае мне нужно загрузить содержимое из другой папки. Если URL-адрес содержит строку test
, мне нужно отправить ее в index.php
в качестве параметра, иначе содержимое должно быть загружено из папки directory
.Как сделать RewriteRule работать только в том случае, если URL содержит определенную строку?
Например: Корневая папка проекта - new_project
. Если URL-адрес равен http://localhost/new_project/test/something/
, тогда мне нужно отправить test/something/
в index.php
в качестве параметра. Иначе, если URL-адрес похож на http://localhost/new_project/something/
, тогда мне нужно загрузить содержимое из папки directory/something
.
Ниже приводится .htaccess
файл я написал до сих пор:
Options +FollowSymLinks
RewriteEngine on
# Force Trailing Slash
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
# Send request via index.php (again, not if its a real file or folder)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
# Serve other requests from the directory/ folder
RewriteRule ^(.*)$ directory/$1 [L]
Что нужно изменить в приведенном выше .htaccess
файле, так что появление test
строки в URL передает строку после строки test
вместе со строкой test
до index.php
, и если URL-адрес не содержит строку test
, затем загружает содержимое из папки directory
?
Где вы размещаете 'test' в URL-адресе? Покажите несколько образцов. –
В приведенном выше вопросе я добавил несколько примеров URL-адресов и сценариев. – SUB0DH