Проблема с Wordpress и .htaccess

LodeRunner

Старатель
Регистрация
10 Фев 2010
Сообщения
219
Реакции
12
Возникла проблема с WordPress. Помогите разобраться пожалуйста.
В корне сайта стоит файл .htaccess с таким содержанием:
Код:
# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from [разрешенные ip]
AuthName "Private zone!"
AuthType Basic
AuthUserFile [путь к файлу с зашифрованным паролем]
require user [логин]
</Files>
Первая часть этого файла, заключенная между строками # BEGIN WordPress и # END WordPress, отвечает за постоянные ссылки и ЧПУ, сгенерированная в админке ВордПресса.
Вторая часть этого файла ограничивает по IP и закрывает через пароль доступ к странице логина Для просмотра ссылки Войди или Зарегистрируйся

Так вот в чем проблема - ничего не работает! Т.е. когда я хочу зайти на эту страницу логина Для просмотра ссылки Войди или Зарегистрируйся или в админку Для просмотра ссылки Войди или Зарегистрируйся, то на сайте образуется ошибка 404 и пишется, что такой страницы не существует!
Как только я удаляю из файла .htaccess первую часть, отвечающую за ЧПУ и ссылки, то сразу все начинает работать - появляется доступ к странице логина и админки + работает ограничение доступа к ним. Но без этой первой части с заданием правил для ссылок обойтись нельзя, т.к. мне нужны ЧПУ-ссылки.
Если же я в файле .htaccess первую часть с ЧПУ оставляю, а удаляю только вторую часть, отвечающую за ограничение доступа, то тоже все начинает нормально работать и доступ к админке появляется. Но без этой второй части с заданием правил ограничения доступа к админке тоже нельзя обойтись, т.к. мне нужна защита админки и ограничение доступа по IP.

В общем почему-то эти 2 части в файле .htaccess между собой не работают и в итоге выдают ошибку 404 при попытке зайти на страницу логина или админки. А вот если удалить 1 или 2 правило из файла .htaccess, то по отдельности все нормально работает.
Не пойму в чем же здесь проблема? Эти же 2 правила никак не связаны между собой, так почему они вместе не работают? Помогите разобраться пожалуйста.


Методом тыка определил, что все дело в этой строчке первого правила:
Код:
RewriteRule . /index.php [L]
С этой строкой ничего не работает, а если ее удалить, то все нормально. Скажите, на сколько важна эта строка и что она обозначает? Я не силен в mod_rewrite. Все-таки эта строка видимо важна, т.к. wordpress ее сам сгенерировал для ЧПУ.
 
Попробуйте оставить так
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
 
monti
Большое спасибо за отклик!
Но нет, так не получится, я так уже пробовал - вылазит все та же ошибка 404. Я же говорю, что методом тыка вычислил эту самую нижнюю строку в первом правиле, которая все портит:
RewriteRule . /index.php [L]
Какое правило она создает и очень ли она важна?
 
Назад
Сверху