Проблемы и решения с постоянными ссылками WordPress

Постоянные ссылки – это постоянная структура ссылок для всего вашего сайта WordPress, позволяющая сделать URL-адрес каждого сообщения / страницы значимым описательным способом вместо использования идентификатора сообщения. Постоянные ссылки можно легко настроить в разделе «Настройки> Постоянные ссылки» на панели администратора WordPress. Хорошо и хорошо, если вы можете просто активировать постоянную ссылку для своего сайта, в этой статье рассматриваются различные проблемы с постоянными ссылками WordPress и решения этих проблем.

Проблемы с файлом .htaccess

Активация красивых постоянных ссылок требует, чтобы WordPress обновил ваш файл .htaccess, чтобы изменить модуль mod_rewrite на сервере Apache. Если есть проблема, связанная с файлом .htaccess, вы увидите ошибку вроде «Если ваш файл .htaccess был доступен для записи, мы могли бы сделать это автоматически, но это не…» Здесь могут возникнуть две возможные проблемы:

Если файл .htaccess недоступен в вашей установке WordPress, он будет автоматически создан при активации постоянных ссылок. Или вы можете создать текстовый файл, например «test.htaccess», и загрузить его в корневой каталог вашего сайта. Затем измените имя файла на .htaccess и перепишите следующий код с помощью FTP или панели управления хостингом.

# 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
  • Нет разрешений на запись и ошибки 404

Если у вас есть файл .htaccess, но по-прежнему отображается ошибка, то возможной причиной может быть отсутствие прав доступа к файлу. Если WordPress не имеет разрешения на запись для обновления вашего файла .htaccess, вы не сможете настроить постоянные ссылки для своего сайта, а доступ к URL-адресам ваших сообщений может вернуть ошибку 404 page not found. В этом случае вы можете изменить настройки прав доступа к файлам через FTP или с помощью панели управления хостингом на что-то вроде 666.

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

  • Нет доступа к файлу .htaccess

Некоторые хостинговые компании могут не разрешать просмотр или изменение файла .htaccess, если вы установили WordPress в процессе их установки в корневом каталоге. В этом случае, если есть возможность, вы можете вручную установить WordPress, загрузив установочный пакет с сайта wordpress.org.

Или вы можете установить WordPress в подкаталог, например http://yoursite.com/blog/, чтобы получить доступ к файлу .htaccess, который будет создан в подкаталоге блога.

Файл .htaccess будет расположен в вашем корневом каталоге, то есть «/ public_html», если вы установили WordPress в корневой каталог.

Не забудьте сбросить права доступа к файлам до 660 или 644 после успешной активации постоянных ссылок для вашего сайта. Это предотвратит доступ к вашему файлу .htaccess.

Нажатие кнопки «Сохранить изменения» без каких-либо изменений на экране настроек постоянных ссылок не окажет никакого влияния, поскольку новые перезаписи не будут создаваться для существующего выбора.

Просмотр файла .htaccess

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

Отображение скрытых файлов в FileZilla

Использование длинных URL

Когда в электронном письме или комментариях используется длинная URL-ссылка, иногда связанный раздел будет обрезан. Например:

http://yoursite.com/2014/10/31/this-is-a-long-url-to-be-sent-through-email/ будет частично содержать ссылку, нажатие на которую приведет к ошибке 404 . Чтобы исправить это, добавьте следующий код в свой файл .htaccess:

RewriteRule ^post/([0-9]+)?/?([0-9]+)?/?$ /index.php?p=$1&page=$2 [QSA]

Используйте <и> для отправки URL-ссылок по электронной почте, например , чтобы избежать проблемы с усечением.

Директива AllowOverride отключена

Если для AllowOverride установлено значение «None» в файле httpd.conf на сервере Apache, сервер не будет читать ваш файл .htaccess и, следовательно, постоянные ссылки не будут работать. Убедитесь, что AllowOverride и FollowSymLinks включены в вашем файле httpd.conf, добавив следующий код:

<Directory />
Options FollowSymLinks
AllowOverride All 
</Directory>

Если AllowOverride не установлен как «Все», тогда он должен иметь директиву «FileInfo».

Навигация по странице постоянных ссылок не работает

Если вы заметили, что какая-либо связанная страница / сообщение не работает должным образом и возвращает ошибку 404 или пустой контент, выполните следующие действия:

  • Сделайте резервную копию существующего файла .htaccess и удалите все содержимое внутри файла.
  • Перейдите в «Настройки»> «Постоянные ссылки» на панели администратора WordPress, выберите вариант по умолчанию и нажмите кнопку «Сохранить изменения».
  • Снова выберите нужный вариант и нажмите кнопку «Сохранить изменения».
  • Это восстановит новые правила перезаписи и обновит ваши файлы .htaccess.
  • Добавьте дополнительный контент из файла резервной копии.

В этом случае вы также можете полностью удалить и создать новый файл .htaccess.

Использование зарезервированных имен с ограничениями для сообщений или страниц

Большинство пользователей WordPress не знают, что WordPress имеет ограничение на использование определенных имен в таксономиях. Например, использование имени страницы верхнего уровня «предварительный просмотр» приведет к тому, что все дочерние страницы, прикрепленные к этой родительской странице «предварительного просмотра», будут возвращать ошибку 404 при использовании постоянных ссылок.

Убедитесь, что не используете зарезервированные условия для URL вашей страницы.

Совместимость плагинов

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

Конфликт с URL-адресами архива

Если вы используете настраиваемую структуру типа «% year% /% monthnum% /% day% /» для URL-адресов ваших сообщений, это будет конфликтовать с URL-адресами архива для этого дня. Рекомендуется использовать настраиваемую структуру с суффиксом с идентификатором сообщения или названием сообщения, чтобы избежать проблем с интерпретацией.

Ошибка постоянных ссылок при локальной установке

Если настройки постоянных ссылок не работают ни в одной из локальных установок, используемых с MAMP, WAMP или XXAMP, вам необходимо включить модуль «mod_rewrite», чтобы WordPress мог получить доступ к вашему файлу .htaccess.

Использование категории в пользовательской структуре постоянных ссылок

Когда вы используете тег% category% в настраиваемой структуре ваших постоянных ссылок и назначаете этому сообщению более одной категории, WordPress будет показывать первую категорию в алфавитном порядке в URL-адресе публикации. Это тот же процесс для подкатегорий, что приведет к добавлению менее подходящей категории в URL-адрес и оставлению основной категории, которая должна быть частью URL-адреса. Решение здесь состоит в том, чтобы использовать плагины для выбора необходимой категории, когда вы назначили публикации более одной категории.

Похожие записи

Добавить комментарий

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