Я использую Wordpress 3.1.3 в качестве полной CMS, установленной в корневом каталоге домена. Я настроил его, используя встроенные опции, чтобы статическая страница была домашней страницей, а затем мой блог по адресу http://www.example.com/blog
.
Я хотел бы, чтобы мои посты в блоге, страницы категорий, страницы архивов и страницы тегов, а также любые другие страницы, связанные с блогами, имели «префикс» / blog / в своей структуре ссылок. Таким образом, адрес публикации будетwww.example.com/blog/post-title
Прямо сейчас у меня только страницы категорий работают правильно. Это было достигнуто путем добавления следующей строки в мой .htacces
файл:
RewriteRule ^category/(.+)$ http://www.example.com/$1 [R=301,L]
Затем я установил для базы категорий «блог» на странице настроек постоянных ссылок в Wordpress. Это дает страницам категорий URL-адрес: www.example.com/blog/category-name
(без удаления префикса категории у .htaccess
них был URL-адрес category/blog/category-name
).
В попытке заставить это работать для других вещей, для которых я хочу, чтобы я работал, я установил для своей базы тегов значение «блог». Я также сделал свою собственную структуру постоянных ссылок: /blog/%postname%
(как было предложено в нескольких темах, которые я нашел в поиске в Google).
Эти настройки дают URL-адресам для отдельных сообщений блога, страниц тегов и страниц архива искомую структуру URL. Однако все это приводит к 404 ошибкам.
Я удалил свой .htaccess
файл, чтобы убедиться, что Wordpress пишет в него, и это так. Если я удаляю /blog/
из структуры постоянных ссылок, все работает правильно, но у меня больше нет структуры URL, которую я ищу.
Я не знаю, что мне делать. Я продолжаю читать темы и руководства, в которых говорится, что это так же просто, как добавить /blog/
в структуру постоянных ссылок, но до сих пор это было не так просто.
Я был бы очень признателен, если кто-нибудь знает, как я могу заставить это работать.
.htaccess
содержание:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>