Jak dodać / blog / jako przedrostek do permalink struktury postów na blogu, tagowania stron itp.?


19

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 .htaccespliku:

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 .htaccessmieli 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 .htaccessplik, 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>

Na marginesie, bezpośredni link wyświetlany podczas edycji postu jest „zły”. Nie wyświetli ostatniego linku.
— Alexis Wilke

Odpowiedzi:


5

Przejdź do Ustawienia> Permalinks i dodaj go do struktur permalink


1
To była jedna z pierwszych rzeczy, które próbowałem i spowodowały błędy 404. Tak więc wyłączyłem go na kilka godzin i postanowiłem spróbować ponownie po przeczytaniu twojej odpowiedzi. Teraz działa na moich pojedynczych stronach postów. Ponownie uruchomiłem strony kategorii. To po prostu pozostawia strony znaczników i strony archiwum, które potrzebują w nich / blog /.
— Preston

Jeśli spojrzysz na stronę, jest tam także miejsce na tagi. Jeśli chodzi o strony archiwalne, czy mówisz o stronie, która pokazuje listę artykułów, tagów, kategorii itp. Lub zarchiwizowanych postów
— xLRDxREVENGEx

Dzięki tagom, jeśli dodam bloga do obszaru Podstawki tagów, otrzymam poprawną strukturę adresu URL „mojadomena.com/blog/tag-name”, ale ta strona spowoduje błąd 404. Przez archiwa mam na myśli stronę, która pokazuje zarchiwizowane posty z określonego miesiąca. Chciałbym, aby adres URL to mydomain.com/blog/2011/05. Ta struktura adresów URL pojawia się po kliknięciu linku do archiwum, ale powoduje również błąd 404. A teraz znowu pojawia się błąd 404 dla pojedynczych postów na blogu. Czy to może być wtyczka, która powoduje problemy?
— Preston

Czy Twoja konfiguracja .htaccess jest poprawna?
— xLRDxREVENGEx

Uważam, że Wordpress dodaje reguły przepisywania za każdym razem, gdy je zmieniam. Czy powinno być coś konkretnego dla czegoś takiego?
— Preston

27

Podczas dodawania „/ blog /” do niestandardowej struktury permalink pojawia się błąd 404, a następnie „/ blog /” do bazy kategorii. Należy go dodać tylko do jednej, niestandardowej struktury permalink.

Jeśli podstawa kategorii i podstawa tagu pozostaną puste i po prostu dodasz „/ blog /” z przodu niestandardowej struktury permalink, aby wyglądał tak: „/ blog /% postname% - uzyska pożądany wynik.

Twoje strony będą wyglądać następująco: domena.com/nazwa_strony/ Twój adres URL posta będzie wyglądał tak: domena.com/blog/postname Adres URL Twojej kategorii będzie wyglądał tak - domain.com/blog/category/postname

Mam nadzieję, że jest to przydatne ...


1
Dobry połów po dodaniu tylko do jednej sekcji. To rozwiązanie doda również / blog / do kategorii i zarchiwizuje strony, co jest dobre. To naprawdę powinna być zaakceptowana odpowiedź.
— Ian

Cieszę się, że ta metoda dotyczy również adresu URL strony kategorii.
— Edwin Yip

1
To powinna być zaakceptowana odpowiedź na to pytanie.
— AndyWarren

2
dołącza prefiks do WSZYSTKICH niestandardowych typów postów
— nodws

1
Typowe pytanie brzmiałoby prawdopodobnie: Jak sobie z tym poradzić tylko w przypadku postów typu „post” i jak tłumaczyć / blogować na przykład dla różnych języków? :)
— trainoasis
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.