.htaccess перенаправление index.php в корень влияет на вход администратора
Я хотел бы перенаправить страницу www.mysite.com/index.php на www.mysite.com/, чтобы предотвратить проблемы с дублированием контента, но это вызывает проблему, из-за которой я не могу войти в бэкэнд, потому что это перенаправляет http://www.example.com/administrator/index.php на http://www.example.com/administrator/. Я использую следующее
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.(html?|php)\ HTTP/
RewriteRule (([^/]+/)*)index\.(html?|php)$ http://www.example.com/$1 [R=301,L]
но я должен был закомментировать это, чтобы войти. Пожалуйста, кто-нибудь может показать мне, где я иду не так?
* Я нашел сообщение о похожей, но не идентичной проблеме, предлагая
RewriteCond %{REQUEST_URI} !^/administrator could go in the middle, would that be right? Sorry, new to all this :)
1 ответ
Да, вы хотите, чтобы ваша входная цепочка выглядела так:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.(html?|php)\ HTTP/
RewriteCond %{REQUEST_URI} !^/administrator/
RewriteRule (([^/]+/)*)index\.(html?|php)$ http://www.example.com/$1 [R=301,L]
Вы в значительной степени поняли это правильно. Каждое из условий RewriteCond по своей сути AND объединено и применяется к первому RewriteRule после них. Вы можете иметь два RewriteCond в любом порядке, и оба должны быть выполнены, чтобы правило было применено.