Rewrite htaccess i Wordpress

Tonny Kluften

Administrator
Jeg må rewrite gammel url:
nettsted.no/index.php?page=2
til
nettsted.no/produkter

Dette mens jeg bruker /%postname%/ i permalinks i Worpress.

Wp htaccess ser slik ut ved bruk av /%postname%/:

Kode:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Hva må jeg legge til for å få til det jeg nevner over her?

Å legge til
Kode:
Redirect 301 /index.php?page=2 http://www.nettsted.no/produkter/
fungerer ikke.

I tillegg vil jeg gjerne bruke denne:
ErrorDocument 404 /index.php
Men den fungerer heller ikke.
 
Sist redigert:

Mr Vest

Sjefen over alle sjefer!
Om du legger til

RewriteEngine On
Redirect 301 /index.php?page=2 hxxp://www.nettsted.no/produkter/

FØR alt det andre som finnes i htaccesfila. Funker det?

Har dette nettstedet forresten kjørt Wordpress fra dag 1 eller fører du over fra noe annet?
 

Mr Vest

Sjefen over alle sjefer!
Jeg ser at jeg i en .htacces fil har følgende:

Kode:
RewriteEngine On
RewriteBase /

RedirectMatch "index.php?page=2" hxxp://www.nettsted.no/produkter/

Edit: (tok nettopp bort en liten feil i koden)

Dette er altså på en installasjon som kjører Wordpress. Jeg har endret mine verdier til dine verdier. Merk: byttet http til hxxp. Denne funker veldig bra for meg og alle som kommer til første blir sendt til den andre. (husk: jeg mener denne må helt i toppen)

Beklager om denne heller ikke funker for deg altså... Hehe, jeg bare forsøker så godt jeg kan. :)
 
Sist redigert:

Keanu

Geek
Jeg har ett nettsted i akkurat samme situasjon som deg, altså flyttet over til Wordpress fra et annet system, og satt opp med "%postname%" som permaurl. Jeg bruker også en custom page som fremside.

Der har jeg følgende .htaccess-fil, som fungerer som den skal:

Kode:
redirect 301 /my/old/url http://www.mydomain.com/new/url/
redirect 301 /my/second/old/url http://www.mydomain.com/another/new/url/

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Det skal altså i teorien fungere slik det ble foreslått tidligere. Kan det ha noe med at du har parameterbaserte urler? Det har jeg nemlig aldri brukt, og har heller ikke nok kjennskap til htaccess til å vite om det utgjør noen forskjell.
 

Mr Vest

Sjefen over alle sjefer!
Snodig altså. Nei, jeg vet sannelig ikke. Jeg skal slenge ut koden akkurat slik jeg har den på mitt nettsted som da sender alle fra A til B. Dette er riktignok ikke 301, så om det ikke er til kjempestor hjelp må jeg jo bare beklage.

Kode:
RewriteEngine On
RewriteBase /

RedirectMatch "wp-signup.php$" hxxp://bloggenmin.no/registrering

Jeg aner virkelig ikke hva $ faktisk gjør i dette tilfellet altså. Den trodde jeg ikke hadde noen stor mening. Lykke til med en fiks på denne lille utfordringen. :)
 

Tonny Kluften

Administrator
Hei jebbis. Godt tenkt, men det fungerer heller ikke. All rewrite havner på siden med postene (den som bruker index.php som mal), sikkert pga permalink-rewrite som er:
Kode:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 

Annabellerockz

New Member
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule . /index.php [L] RewriteCond %{REQUEST_URI} ^/ RewriteRule .* - [CO=wordpress_test_cookie:WP+Cookie+check:%{HTTP_HOST}:1440:/] </IfModule> # END WordPress
 

Rismoen

Medlem
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule . /index.php [L] RewriteCond %{REQUEST_URI} ^/ RewriteRule .* - [CO=wordpress_test_cookie:WP+Cookie+check:%{HTTP_HOST}:1440:/] </IfModule> # END WordPress

Bare 5 år forsent. Tråden ble laget i 2009.

Men bedre sent enn aldri :D
 
Topp