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

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем LodeRunner, 25 окт 2011.

  1. LodeRunner

    LodeRunner

    Регистр.:
    10 фев 2010
    Сообщения:
    220
    Симпатии:
    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 и закрывает через пароль доступ к странице логина www.site.ru/wp-login.php

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

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


    Методом тыка определил, что все дело в этой строчке первого правила:
    Код:
    RewriteRule . /index.php [L]
    
    С этой строкой ничего не работает, а если ее удалить, то все нормально. Скажите, на сколько важна эта строка и что она обозначает? Я не силен в mod_rewrite. Все-таки эта строка видимо важна, т.к. wordpress ее сам сгенерировал для ЧПУ.
     
  2. monti

    monti Постоялец

    Регистр.:
    31 янв 2009
    Сообщения:
    51
    Симпатии:
    7
    Попробуйте оставить так
     
    LodeRunner нравится это.
  3. LodeRunner

    LodeRunner

    Регистр.:
    10 фев 2010
    Сообщения:
    220
    Симпатии:
    12
    monti
    Большое спасибо за отклик!
    Но нет, так не получится, я так уже пробовал - вылазит все та же ошибка 404. Я же говорю, что методом тыка вычислил эту самую нижнюю строку в первом правиле, которая все портит:
    Какое правило она создает и очень ли она важна?