Исключить папку catalog

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

Исключить папку catalog

Сообщение vadikvip777 » Ср авг 19, 2020 1:18 pm

Здравствуйте!)
На движке OpenCart в файле .htaccess есть параметры
Код: выделить все
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


на сколько я понимаю тут прописано что если папка не имеет индексного файла то выводится ошибка
в структуре движка OpenCart есть папка catalog, и у меня есть SEO URL - catalog который из-за кода который выше не работает, выводится ошибка
если изменить код на
Код: выделить все
RewriteBase /
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


в таком случае перестает работать админка (папка admin которая имеет индексный файл)

пробовал еще сделать так
Код: выделить все
RewriteBase /
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/admin/$ [NC]
RewriteCond %{REQUEST_URI} !/admin/(.*)$ [NC]
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


в таком случае работает админка, работает страница с url catalog, но перестали грузится картинки

Подскажите, пожалуйста, как можно решить эту проблему без костыля в виде индексного файла в папке catalog :?:
vadikvip777
 
Сообщений: 4
Зарегистрирован: Ср авг 19, 2020 1:09 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Ср авг 19, 2020 3:39 pm

Можно попробовать просто закомментировать условие с "!-d". Это условие проверяет, что адрес не является существующей папкой.
Код: выделить все
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Emilien
Мл. Сержант
 
Сообщений: 84
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение vadikvip777 » Ср авг 19, 2020 4:00 pm

Emilien писал(а):Можно попробовать просто закомментировать условие с "!-d". Это условие проверяет, что адрес не является существующей папкой.
Код: выделить все
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


так перестает работать админка, при попытке зайти на адрес site.com/admin открывается страница 404
vadikvip777
 
Сообщений: 4
Зарегистрирован: Ср авг 19, 2020 1:09 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Ср авг 19, 2020 4:14 pm

А если заходить на адрес с "/" в конце?
site.com/admin/
Emilien
Мл. Сержант
 
Сообщений: 84
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение vadikvip777 » Ср авг 19, 2020 4:21 pm

Emilien писал(а):А если заходить на адрес с "/" в конце?
site.com/admin/


это если с "/" в конце
а если без то перекидывает на адрес - site.com/admin/?_route_=admin

сделал вот так
Код: выделить все
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/admin/$ [NC]
RewriteCond %{REQUEST_URI} !/admin/(.*)$ [NC]
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


не знаю правильно ли, но работает
vadikvip777
 
Сообщений: 4
Зарегистрирован: Ср авг 19, 2020 1:09 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Ср авг 19, 2020 4:25 pm

Можно сократить
Код: выделить все
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Emilien
Мл. Сержант
 
Сообщений: 84
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение vadikvip777 » Ср авг 19, 2020 7:14 pm

Emilien писал(а):Можно сократить
Код: выделить все
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


спасибо!)
vadikvip777
 
Сообщений: 4
Зарегистрирован: Ср авг 19, 2020 1:09 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: YandexBot

cron