caramele
@caramele

Как сделать исключение в .htaccess?

Добрый день!
подскажите пожалуйста, после переноса сайта на другой хостинг, появилась маленькая проблемка

Есть папка backend - админка, в ней есть файл .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]


По факту этот .htaccess преобразовывает url (добавляется знак вопроса)
mysite.jp/backend/users/girls/menu/100010 в
mysite.jp/backend/?users/girls/menu/100010

Но с этим файлом нельзя залогиниться в админку по адрессу
mysite.jp/backend/index/login
в дебагере хрома показывает 500 ошибку

Без .htaccess - нормально логиниться,
но ссылки в админке не преобразовываются - соответственно не происходит перехода.
Если руками добавлять знак ? к URL в браузере - то ссылка работает

Помогите пожалуйста, добавить исключение в .htaccess - чтобы он пропускал процесс логина

Заранее Спасибо!

ps. Не знаю на сколько это принципиально, в главной директории сайта есть такие строки в .htaccess


RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
  • Вопрос задан
  • 1554 просмотра
Пригласить эксперта
Ответы на вопрос 3
@ShamblerR
Ну так попробуй исключить backend/index/login
RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !backend/index/login.*$  
 RewriteRule ^(.*)$ index.php?$1 [L]
Ответ написан
orlov0562
@orlov0562
I'm cool!
Попробуй отключить htaccess в главной директории (например, временно переименовав его в htaccess.bak), дальше попробуй работает ли админка (с её htaccess-ом), если это поможет, тогда в главной директории, в файл .htaccess, до RewriteRule добавь:
RewriteRule ^(backend)($|/) - [L]

если не поможет:

500 ошибка часто говорит о том, что где-то ошибка в htaccess, попробуй закомментировать все что есть и включай построчно, пока не найдешь строку с ошибкой.
Ответ написан
Комментировать
caramele
@caramele Автор вопроса
К сожалению не помогло

Вот что в error.log apacha записывается

PHP Warning: require(main.php): failed to open stream: No such file or directory in /home/admin/web/mysite.jp/public_html/backend/index.php on line 12

PHP Fatal error: require(): Failed opening required 'main.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/admin/web/mysite.jp/public_html/backend/index.php on line 12

Файл backend/index.php
if($_SERVER['REQUEST_URI'] != '/backend/index' AND $_SERVER['REQUEST_URI'] != '/backend/index/login') { require "../main.php"; } else { require "main.php"; }

12 строчка - require "main.php";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы