WN

WN (https://www.wn.se/forum/index.php)
-   Sökmotorpositionering (https://www.wn.se/forum/forumdisplay.php?f=11)
-   -   Flytta blog från dotnetblogengine till WP (https://www.wn.se/forum/showthread.php?t=1038033)

PHREDATOR 2009-09-17 16:16

Flytta blog från dotnetblogengine till WP
 
Hej,

jag har en blog som ligger på binero det är dotnetblogengine alltså asp.NET.
Nu ska jag byta till WP och således behöver jag ju byta server på binero till en linux.

Hur går jag tillväga för att inte döda det lilla som google redan har indexerat på min sida? Jag kommer ju behöva flytta min domän till nya servern och då finns ju inte mina gamla urler kvar så jag kan inte köra 301.

Om lösningen ligger i php / wp så skicka gärna med nån länk eller så för det är inte min hemmaplan ;)

/F

BjörnJ 2009-09-17 16:26

Jag antar att du ska behålla samma domän?

Du kan lägga in 301-redirects i .htaccess. Om det inte är så många sidor det handlar om är det nog enklast att lägga in en rad per URL:

Kod:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule gammal1 http://domän/ny1 [R=301,NC,L]
RewriteRule gammal2 http://domän/ny2 [R=301,NC,L]

Om "gammal" innehåller allt som behövs i "ny" kan man lösa det med en rad och använda variabler.

PHREDATOR 2009-09-17 16:35

Tack för snabbt svar!

Som jag förstår det så skriver jag bara:
RewriteRule http://domän/gammalURL1 http://domän/nyURL1 [R=301,NC,L]

Det är som sagt inte så många poster så jag kan lika gärna skriva alla på en varsin rad bara.

Vad betyder NC och L ?

BjörnJ 2009-09-17 16:40

Citat:

Ursprungligen postat av PHREDATOR (Inlägg 20322446)
Som jag förstår det så skriver jag bara:
RewriteRule http://domän/gammalURL1 http://domän/nyURL1 [R=301,NC,L]

Inte http och domän på den första, d.v.s.:
RewriteRule gammalURL1 http://domän/nyURL1 [R=301,NC,L]

NC betyder case-insensitive, L betyder att det är sista regeln (d.v.s. den kan avbryta htaccess när den kommer dit).

PHREDATOR 2009-09-17 17:12

Ok så om min gamla url är http://domän.se/post/09/08/08/foo-bar.aspx så blir min rewriterule nåt sånt här?
RewriteRule post/09/08/08/foo-bar.aspx http://domän/foo-bar [R=301,NC,L]

tack för bra svar!

BjörnJ 2009-09-17 17:18

Ja, det bör fungera.

Nu har jag inte så stor koll på WP, men jag antar att WP redan använder .htaccess. I så fall kan du lägga dessa regler efter "header-raderna", men före de regler som hör till WP.

BjörnJ 2009-09-17 17:31

Om URL:erna är uppbyggda på det sättet och titeln inte ska ändras för några artiklar kan du göra så här så får du med alla med en regel:
Kod:

RewriteRule post/0(.*)/(.*).aspx http://domän/$2 [R=301,NC,L]
(Det kräver att ingen framtida titel i bloggen börjar med "post/0".)

Jonas 2009-09-17 19:51

Eller så modifierar du Wordpress permalink inställningar så att dom matchar dom gamla inställningarna. Minst pill med htaccess.

PHREDATOR 2009-09-17 20:24

Fast dom gamla urlerna slutar ju på .aspx jag vet ju inte men jag antog att det skulle vara svårt att få med .aspx i wp ?

BjörnJ 2009-09-17 21:10

Citat:

Ursprungligen postat av PHREDATOR (Inlägg 20322482)
Fast dom gamla urlerna slutar ju på .aspx jag vet ju inte men jag antog att det skulle vara svårt att få med .aspx i wp ?

Gissningsvis är det inte svårt (det får dock någon annan svara på), men det ser ju fult ut och är dessutom felaktigt.

PHREDATOR 2009-09-17 22:52

Citat:

Ursprungligen postat av BjörnJ (Inlägg 20322440)
Jag antar att du ska behålla samma domän?

Du kan lägga in 301-redirects i .htaccess. Om det inte är så många sidor det handlar om är det nog enklast att lägga in en rad per URL:

Kod:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule gammal1 http://domän/ny1 [R=301,NC,L]
RewriteRule gammal2 http://domän/ny2 [R=301,NC,L]

Om "gammal" innehåller allt som behövs i "ny" kan man lösa det med en rad och använda variabler.

Hej igen, nu har jag testat detta och det fungerar inte alls för mig ;)
Överst i .htaccess när jag laddade hem den fanns detta: Options -Indexes ska det stå kvar?

Jag lät det stå kvar och la till det du skrev under och bytte till de urler jag ville redirecta. När jag först prövade så kom jag till en 404 sida på min nya wp blogg. efter en stund så kom bara Apaches Not found upp.

Där är jag nu ungefär.

Jag använder som sagt binero och .htaccess hittade jag i en mapp som heter cgi-bin och den ligger i public_html.

Tips?

BjörnJ 2009-09-17 23:18

Options -Indexes är ok att ha med.

Det var inte så att du skrev över en .htaccess som hör till WP? (Och som i så fall borde ha legat direkt under public_html.)

Sätt ^ före och $ efter de gamla, t.ex. ^gammal1$

PHREDATOR 2009-09-18 00:00

Jag får det inte att fungera tyvärr. Nej det finns ingen .htaccess i min wpinstallation från början. Endast den som redan låg där när binero kontot skapades

Kod:

Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule ^/post/2009/09/13/Anvand-jQuerys-EndsWith-for-att-slippa-ha-din-javascript-kod-i-html-dokumentet-nar-ASPNET-andrar-ClientID.aspx$ http://dattaproffs.se/2009/09/13/anvand-jquerys-endswith-for-att-slippa-ha-din-javascript-kod-i-html-dokumentet-nar-asp-net-andrar-clientid/ [R=301,NC,L]

Så ser min .htaccess ut nu. Då kommer jag till 404 men den skriver inte om urlen eller så.

Jonas 2009-09-18 04:49

Du har dubbla Options, du lägger "-Indexes" efter "+FollowSymLinks"

Du skall även ha WP's egna .htaccess, har du inte WP installerat än så lägger WP till sin kod under.

PHREDATOR 2009-09-18 11:25

Ok, tack.

Men jag laddade hem WP från deras hemsida och laddade upp och installerade, men det finns ingen .htaccess med i det paketet? Måste jag ladda hem den nånstans ?

Jim_Westergren 2009-09-18 12:49

Den skapas av Wordpress automatiskt när du ställer in hur permalänkarna ska se ut.

Så här ser det ut vilket du kan klistra in i den du redan har:

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

BjörnJ 2009-09-18 13:09

Med andra ord, lägg in följande sist i den .htaccess du har nu:
Kod:

# Följande rader är för WP:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Kommentaren (som börjar med #) är inte nödvändig, men skadar inte.
De två RewriteCond kontrollerar så att URL:en inte går till en existerande fil eller katalog.

PHREDATOR 2009-09-18 14:05

Hej igen, jag känner mig helt tappad alltså :)

Kod:

Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteBase /

RewriteRule /post/2009/09/13/Anvand-jQuerys-EndsWith-for-att-slippa-ha-din-javascript-kod-i-html-dokumentet-nar-ASPNET-andrar-ClientID.aspx http://dattaproffs.se/2009/09/13/anvand-jquerys-endswith-for-att-slippa-ha-din-javascript-kod-i-html-dokumentet-nar-asp-net-andrar-clientid/ [R=301,NC,L]


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

# END WordPress

Så ser den ut nu, men fortfarande samma resultat. Jag kommer till 404 när jag skriver in http://domän.xx/post/2009/09/13...-ClientID.aspx

Tack snälla för all hjälp.

*EDIT
Ska tilläggas att jag nu har fått en .htaccess i roten på min wpinstallation och det är i den jag har det där.

BjörnJ 2009-09-18 14:30

Problemet är nog slashen före post.

Hela .htaccess:
Kod:

Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteBase /

# Redirect av gamla bloggen:
RewriteRule ^post/2009/(.*).aspx$ http://dattaproffs.se/2009/$1/ [R=301,NC,L]

# Följande rader är för WP:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


PHREDATOR 2009-09-18 14:55

Underbart!

Tack alla för bra svar och speciellt till Björn för ett underbart tålamod ;)

BjörnJ 2009-09-18 14:59

Kul att det löste sig. :)

StefanBergfeldt 2010-10-31 14:16

Gammal tråd, men jag ska precis flytta från dotnetblogengine till WordPress, hur får jag med mig alla mina inlägg?

Det är nästan 1100 inlägg så jag har ingen lust att klippa å klistra.


Alla tider är GMT +2. Klockan är nu 13:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson