Używam Wordpress 3.1.3 jako pełnego CMS, zainstalowanego w katalogu głównym domeny. Mam konfigurację za pomocą wbudowanych opcji, aby strona statyczna była stroną domową, a następnie moim blogiem na http://www.example.com/blog
.
Chciałbym, aby moje pojedyncze posty na blogu, strony kategorii, strony archiwalne i strony z tagami, a wszelkie inne strony związane z blogiem miały w swojej strukturze linków „prefiks” / blog /. Tak więc adres URL postu byłbywww.example.com/blog/post-title
W tej chwili tylko strony kategorii działają poprawnie. Zostało to osiągnięte poprzez dodanie następującego wiersza do mojego .htacces
pliku:
RewriteRule ^category/(.+)$ http://www.example.com/$1 [R=301,L]
Następnie ustawiłem kategorię podstawową na „blog” na stronie Permalinks Settings w Wordpress. Dzięki temu strony kategorii mają adres URL: www.example.com/blog/category-name
(bez usuwania prefiksu kategorii .htaccess
mieli adres URL category/blog/category-name
).
Próbując sprawić, by działało to w przypadku innych rzeczy, dla których chcę, aby działało, ustawiłem Tag Base na „blog”. Stworzyłem też /blog/%postname%
własną Niestandardową Strukturę Permalink: (jak sugeruje kilka wątków, które szukałem w Google).
Te ustawienia podają adresy URL pojedynczych postów na blogu, tagi stron i stron archiwizujących strukturę adresów URL, której szukam. Jednak sprawia, że wszystkie prowadzą do błędów 404.
Usunąłem mój .htaccess
plik, aby upewnić się, że Wordpress pisze do niego i tak jest. Jeśli /blog/
usunę strukturę permalink, wszystko działa poprawnie, ale nie mam struktury URL, której szukam.
Nie wiem, co powinienem zrobić. Wciąż czytam wątki i przewodniki, mówiąc, że jest to tak proste, jak dodanie /blog/
do struktury permalink, ale jak dotąd nie było to wcale takie proste.
Byłbym bardzo wdzięczny, gdyby ktokolwiek wiedział, jak mogę to uruchomić.
.htaccess
zawartość:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>