Почему файл .htaccess может отсутствовать для WordPress-сайта

Дата публикации:Март 14, 2014

На днях к нам обратился пользователь, которому мы посоветовали удалить файл .htaccess для своего сайта, чтобы справиться с общей ошибкой WordPress. Пользователь не смог отыскать данный файл и подумал, что с его сайтом что-то не так. Конечно, новичкам отсутствие файла .htaccess может показаться странным. В этой статье мы покажем, куда пропадает файл .htaccess и как его создать при необходимости.

Что представляет собой файл .htaccess?

Файл .htaccess – это конфигурационный файл сервера, который «говорит» вашему серверу, как обрабатывать определенные аспекты вашего сайта. К примеру, как перенаправлять пользователей, как защитить некоторые директории и т.д.

Точка перед именем файла указывает на то, что этот файл скрытый. Когда вы получите доступ к своему серверу через FTP-клиент, вы не увидите файл .htaccess, если ваш клиент не включен на вывод скрытых файлов.

showhiddenfiles-ftp

В некоторых случаях, даже если вы установили соответствующую опцию в FTP-клиенте, он по-прежнему не будет отображать файл .htaccess.

Куда мог деться файл .htaccess?

Вообще, одна из причин, по которой файл .htaccess может отсутствовать, заключается в том, что ваш WP-сайт до сих пор не сгенерировал его. WordPress генерирует .htaccess файл в первый раз при установке красивых пермалинков в разделе Параметры – Постоянные ссылки. Все, что вам нужно сделать – это щелкнуть по кнопке «Сохранить изменения» на экране пермалинков, после чего WordPress сгенерирует файл .htaccess в корневой директории вашего сайта.

permalinksettings1

В некоторых редких случаях WordPress может быть неспособным сгенерировать.htaccess файл в результате проблем с правами доступа. В этом случае вы увидите уведомление на экране постоянных ссылок, которое проинформирует вас о том, что файл htaccess не является перезаписываемым. Если вы будете использовать отличную от дефолтной структуру постоянных ссылок, то вам будет выдан код, который вы вручную должны добавить в файл .htaccess.

htaccessfile-writable

Вам понадобится скопировать этот код и вставить его в любой текстовый редактор. Затем сохранить файл как .htaccess на компьютере. После чего соединиться со своим сервером по FTP через FTP-менеджер и загрузить данный файл на сервер.

Если в процессе загрузки файла произойдет ошибка, вам понадобится изменить права доступа к файлам для вашей корневой директории. Предположим, что все ваши файлы WordPress хранятся в папке /home/syedbalkhi/public_html/.

В таком случае папка public_html будет являться корневой директорией. Вам нужно будет перейти к ее родительскому каталогу и щелкнуть по public_html правой кнопкой мыши. Выберите пункт File Permissions, после чего вы увидите диалоговое окно, в котором можно будет задать права доступа к файлам. Введите 755 в диалоговое окно, после чего попробуйте загрузить файл .htaccess в папку public_html.

filepermissions

Таким образом, вы создадите нужный файл .htaccess для вашего WordPress-сайта.

Источник: wpbeginner.com

Поделиться

8 комментариев

  1. Михаил says:

    Здравствуйте.
    У вас на скриншоте не весь .htaccess изображен.
    Подскажите, почему Вордпресс не хочет генерировать .htaccess, а если я его создаю и заливаю в корень папки — игнорирует?
    Никак не могу сделать редирект с www на домен без него.
    На двух сайтах уже так.

    • Дмитрий Алёшин says:

      Обычно проблема может быть с правами доступа к файлам. Попробуйте поменять права доступа к папке, в которой находится WP, на 755.

  2. vovasik says:

    у меня с ngnix вообще его не создается =)

  3. Здравствуйте! У меня вордпресс автоматически генерирует .htaccess со стандартными настройками. Если я через сервер меняю его на свои настройки, он через несколько секунд вновь заменяет мой файл своим стандартным. Даже не знаю что еще делать.

    Помогите.

  4. Ann says:

    Здравствуйте, Дмитрий, хочу задать вопрос не совсем по теме. Я прописала в файле .htacces переадресацию с зеркала с www на без www:
    # BEGIN WordPress

    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^magnit40
    RewriteRule (.*) http://www.magnit40.ru/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://www.magnit40.ru/ [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L,QSA]

    # END WordPress
    Но, когда ввожу magnit40.ru, то получается открыть сайт только в браузере Мозила (срабатывает переадресация на http://www.magnit40.ru), а в опере, гугл хром и яндекс браузере ничего не получается. Пишет, что ошибка DNS сервера или что-то в этом духе. Не подскажете, что я делаю не так?

  5. Дмитрий says:

    Спасибо! Еще раз нажал сохранить и все заработало)

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.