Intereting Posts
Тип почтового сообщения и таксономия WordPress Передача параметров на статическую страницу WordPress Получить список категорий с именем категории в пользовательском классе WP_List_Table Загрузка файла переднего конца, возвращающего неправильный URL-адрес приложения Вставить данные в комментарий Использование post_class для стилей сообщений indivdually Использование пользовательской страницы 410 Когда пользователь входит в систему, как они могут просматривать веб-сайт вместо меню администратора? wordpress rewrite url | заменить косые черты в тире Как правильно добавить мои стили, переопределяющие текущие стили Как удалить все помеченные элементы в один конец Код для загрузки файла PHP, названного в честь идентификатора категории Как отобразить большинство Посмотреть сообщение в файле шаблона? Как добавить область / параметр для описания пользовательской страницы? Использование WP_Query с несколькими циклами на одной странице в search.php

Почему permalinks работает с /index.php/%postname%, но не только с% postname%?

У меня проблема с постоянными ссылками WordPress. Я меняю постоянные ссылки на довольно постоянные ссылки, но сейчас я просто получаю 404s для страниц. Странная вещь, когда я использую /index.php/%postname%, ссылки на страницы работают нормально, но мне нужно избавиться от части index.php.

Я читал о внесении изменений в файл httpd.conf, но не могу найти файл в любом месте. Файл 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 

Любые другие идеи?

Спасибо Эмма

У меня был весь правильный код в файле .htaccess , но он оказался полностью переопределенным в файле /etc/apache2/apache2.conf умолчанию Ubuntu. Изменена запись для / и /var/www из AllowOverride None для AllowOverride All , перезапустил Apache, и теперь все работает нормально.

Я предполагаю, что mod_rewrite не включен. В зависимости от того, какой сервер вы используете, включите mod_rewrite .

Затем, если вы работаете в Linux, вручную отредактируйте /etc/apache2/sites-enabled/000-default и измените AllowOverride на «От All до» (или где находится каталог вашего сайта).

Здесь в точках 3 и 4 должны быть решения для Windows.

Вы случайно используете Names.co.uk в качестве своего хозяина?

У меня была такая же проблема, как и вы, и через пару часов Googling я узнал, что они используют сервер Zeus, а не Apache, и он не поддерживает функцию Mod_ReWrite . Это, по-видимому, объясняет запутанные симптомы. (У меня не было файла .htaccess, но никаких ошибок не сообщалось из WordPress, когда я вносил изменения в мои постоянные предпочтения.)

У них есть обход для Зевса, подробно описанный здесь:

http://www.names.co.uk/support/hosting/linux_hosting/1119-wordpress_rewrite_script.html

Я понимаю, что через пару месяцев после вашего первоначального сообщения вы, вероятно, решили его сейчас, но для тех, кто находит это в будущем, было бы неплохо проверить, использует ли ваш хост Zeus или какой-то другой не-Apache сервер.

Обновление: см. Код, который я разместил здесь по аналогичному вопросу

Попробуйте установить htaccess на 777, затем зайдите и обновите параметры постоянной ссылки до того, что вы хотите, затем, если он вернется и изменит его на 644

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

Я не смог воссоздать проблему в вашем вопросе, поэтому я не уверен на 100%, если она работает для вас. Однако это стоит того.

привет, Джереми Джаред

Попробуйте заменить код .htaccess следующим:

 # ------------------------------------------------------------------------- # Rewrite Engine options # ------------------------------------------------------------------------- RewriteEngine On RewriteCompatibility2 On RepeatLimit 200 RewriteBase RewriteRule ^/index.php$ / [NC,P,R=301] RewriteCond %{REQUEST_URI} !/wp-admin RewriteRule ^/(.*)/$ /index.php/$1 [NC] # Redirect 'www.yourblogsite.com/anything/anything/index.php' # to 'www.yourblogsite.com/anything/anything/' RewriteRule ^/(.*)/index.php$ /$1/ [NC,P,R=301] # ------------------------------------------------------------------------- # END REWRITES # ------------------------------------------------------------------------- 

У меня все еще были учетные данные для клиента, для которого я должен был это исправить. Это то, что я использовал для него. Это сервер IIS, я не уверен, что это важно, но вы можете попробовать. Удачи, JJ

Я думаю, ваш хост использует ISS. ISS использует « URL Rewrite », а не « mod_rewrite », поэтому взгляните на Codex .

«Довольно» permalinks обычно требуют mod_rewrite, а IIS (обычный на серверах Windows) не поддерживает mod_rewrite. (Если вы используете Apache 2.0.54, в Windows, mod_rewrite может работать, если он включен в apache \ conf \ httpd.conf.)

Я знаю, что слишком поздно ответить, но если вы все еще ищете это; вот быстрый способ:

Решение. Как удалить Index.php из URL-адреса WordPress на IIS7?

У меня была эта проблема на Mac OSX, и следующее было очень полезно. По-видимому, по умолчанию Mac не готов .htaccess по умолчанию, и Apache игнорирует файл до тех пор, пока не будут изменены определенные файлы (указанные в ссылках ниже):

http://wordpress.org/support/topic/getting-pretty-permalinks-working-on-a-mac-105-server

http://clagnut.com/blog/350/

Надеюсь, это поможет!

Я некоторое время борюсь с этой проблемой, и сегодня я решил эту проблему. Я узнал, что мой mod_rewrite не был включен все это время. Я нашел информацию по этой ссылке очень полезной. В нем объясняется все, от того, как проверить, включен ли mod_rewrite , а если нет – как включить его. Я надеюсь, что эта информация полезна для тех, кто новичок в WP и борется с настройкой довольно постоянных ссылок.

Это для сервера Apache: Привет Сначала Проверьте свой жизненный хост, если вы используете по умолчанию, проверьте, что корневой каталог wordpress имеет это

  <Directory ROOT_DIR_FOR_WORDPRESS> php_admin_flag engine on AllowOverride All Order allow,deny allow from all RewriteEngine On RewriteOptions Inherit Require all granted </Directory> 

проверьте ваш файл .htaccess в корневом каталоге wordpress, имеет разрешение читать, писать (666) и содержит

 # 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 

Включить mod rewrite (sudo a2enmod rewrite – для пользователей linux)

Теперь обновим настраиваемую структуру permalink: /% postname% /

сохранять и проверять любые ошибки. Теперь он должен работать

Чаще всего проблема заключается в том, что ваш .htaccess переопределен правилами вашего виртуального хоста