Если ваш веб-сервер — Apache, то могут быть две причины этой проблемы:
- Не работает .htaccess
- Не загружен модуль Apache — mod_rewrite
В первом случае необходимо проверить в настройках Apache (httpd.conf) следующие директивы AccessFileName и AllowOverride.
Для AccessFileName значение должно быть .htaccess (AccessFileName .htaccess).
Для AllowOverride (действует внутри <directory>) значение должно быть All (AllowOverride All).
Во втором случае проверяем прописан ли в настройках mod_rewrite.
В секции # ### Loaded Modules должна быть строка:
LoadModule rewrite_module [путь к модулю]/mod_rewrite.so
В секции # ### Added Modules :
AddModule mod_rewrite.c
30 ответов к “Настройка WordPress. Не работают постоянные ссылки.”
В общем почитал я статью и комменты, и понял что я ничего не понял. Не получается сделать нормальные ссылки
Жаль нет кнопки на твиттер, если есть твиттер напишыте зафоловлю :) Мой http://twitter.com/IstinaOdna
Я пока в твиттере не прописался ) но за приглашение спасибо! )
Спасибо Вам за информацию. Работаю над сайтом на локальном сервере. Не работали ЧПУ. Сутки провозился. В итоге оказалось выключенный mod_rewrite :)
Интересный блог, подписываюсь на твиттер ;)
Помогите решить подобную проблему.
Перенес сайт на хостинг mochahost.com. Кое-как все настроил.
файлы .htaccess ( а они есть как в корне, так и в других каталогах) оставил старые.
Сейчас работает главная страница, а все внутренние ссылки выдают HTTP Error 404. Не работают внутренние ссылки типа site.ru/collection/, а типа site.ru/test.php работают.
Я не знаю как проверить работает ли mod_rewrite и .htaccess. На сервере стоит не apache, а что-то другое.
Еще почти во всех файлах .htaccess указаны строки
AuthUserFile /home/site/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/site/public_html/_vti_pvt/service.grp
Может дело в них. Но я пробовал менять абсолютный путь — ничего не получается. Помогите, пожалуйста исправить.
Во-первых, надо выяснить тип сервера.
.htaccess работает только под Apache!
У них написано в суппорте: We do have support for mod_rewrite and .htaccess
Это хорошо.
Тогда закомментируйте (# в начале строки) в .htaccess все записи касающиеся аутентификации (AuthUserFile, AuthGroupFile).
Да, на некоторых хостингах поддержка htaccess может включаться/выключаться через панель управления или же непосредственно в конфигурационных файлах сервера — стоит покопаться и там.
А как вообще проверить работает ли .htaccess? Я пробовал написать правило
RewriteRule ^test.html$ test.php?%{QUERY_STRING} [L]
и вводить site.ru/test.html — ошибка 404, не перенаправляет
site.ru/test.php — все нормально
Последний тестовый .htaccess был такой:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteRule ^test.html$ test.php?%{QUERY_STRING} [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Напиши одну строчку в корневом htaccess:
Deny from All
Если после этого при заходе на сайт будет выдаваться 403 ошибка, значит htaccess работает!
Не работает. Сами посмотрите на http://ecollect.ru/
А там сейчас Deny from All стоит
Что посоветуете? В суппорт написал, толькл отвечают они 2 раза в день и то по-английски.
Т.к. ваш сервер — IIS, то придется изучать IIS URL Rewrite module: http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
Или брать хостинг с Apache…
А что не apache я решил, т.к. там нет к примеру httpd.conf
Нуу… далеко не все хостеры дают доступ к httpd.conf
Давайте проверим через phpinfo — знаете как?
Посмотрите сейчас на http://ecollect.ru/
Не знаю какое поле смотреть. В самом верху
System: Windows NT CWS11 6.1 build 7600
У вас IIS/7.5 — так что забудьте про htacces.
Вроде бы в IIS 7 есть возможность импорта правил mod_rewrite. Изучите: http://learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/
Но сам я этим не занимался…
Хорошо, буду разбираться.
Большое спасибо за помощь!
Благодарю! да часа ковырялся в конфиге, пока здесь строчку нужную не нашел. Огромный респект.
Огромное спасибо! Очень полезная инфа. Помог :)
Спасибо за листинг, все помогло, проблема решена:) *довольный*
Мой хтаксес, после которого все заработало:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Panda, так это же стандартный вордпрессовский htaccess ) …
Спасибо огромное, помогло :)
А как настроить Апач так, чтобы визуальный редактор работал и некоторые плагины???
А что конкретно не так с визуальным редактором и плагинами?