Hjälp med ModRewrite

Tråden skapades och har fått 12 svar. Det senaste inlägget skrevs .
1

Hej,

Har googlat runt i flera timmar nu utan att verkligen bli klok på allting och hoppas därför att någon vänlig själ sitter inne med kunskapen här.

Har en e-handelsbutik som är byggd i oscommerce och har tänkt rensa upp lite bland URLerna.

Ett exempel är www.abc.se/se/ ska landa på www.abc.se/index.php?language=sw
Fixade det med följande:

RewriteRule ^se$ index.php?language=sw [R="301"]

Är 301 delen nödvändig? Om jag förstått det rätt så är den nästan ett måste för att dyka upp bra i sök. Men problemet är att jag gärna vill att www.abc.se/se/ dyker upp i adressbaren

Täcker ^se$ både www.abc.se/se och www.abc.se/se/? Eller hur löser man det smidigast?

Ytterliggare en fråga. Om någon klickar på länken för svenska språket, dvs index.php?language=sw, finns det någon chans att ersätta den adressen med www.abc.se/se/ i adressbaren?

Säkert rätt grundläggande frågor, men behöver lite vägledning. Har som sagt letat runt i flera timmar och verkar tyvärr finns för mycket information på ämnet och hittar allt utom det jag behöver

/Jacob

Ursprungligen av jacoblo33:

Är 301 delen nödvändig?

301 betyder "Moved Permanently", dvs den berättar att sidan som länken går till har flyttats för gott. Detta gör att t.ex. sökmotorerna kan byta ut länken mot den nya i sin databas, så att gamla länkar inte kommer upp när man söker.

Känns kanske inte helt relevant. Men ska jag skippa R=301 delen? Köra med redirect?

Ingen risk att google misstycker?

Ursprungligen av jacoblo33:

Känns kanske inte helt relevant. Men ska jag skippa R=301 delen? Köra med redirect?

Ingen risk att google misstycker?

Jag vågar inte lova något, men det verkar som sagt inte riktigt relevant i ditt fall.

Man kan även använda 301 om man t.ex. styr om all trafik från www.example.com till example.com, just för att säga att det är bara example.com som gäller.

Ändrade rubriken då det väl inte har så mycket med htaccess att göra..

Ursprungligen av Johan S:

Ändrade rubriken då det väl inte har så mycket med htaccess att göra..

Fast det är ju i htaccess-filen man oftast skriver det, så helt irrelevant var det väl inte?

Man kan ju lika gärna ha det i apache-konfen

Är det inte såhär man vill ha det?
RewriteRule ^index.php?language=sw$ se/ [R="301"]
RewriteRule ^se/$ index.php?language=sw [L]

www.abc.se/index.php?language=sw redirectas till www.abc.se/se/, www.abc.se/se/ syns i webbläsarens adressfält.

www.abc.se/se/ skrivs om internt till till www.abc.se/index.php?language=sw, www.abc.se/se/ syns i webbläsarens adressfält.

Rätta mig och jag har fel...

Det är exakt det jag är ute efter, men verkar inte fungera.

Både delarna fungerar bra för sig, men kombinerat blir det fel.

RewriteRule ^kaffe.html$ privat.html [R="301"]
RewriteRule ^privat.html$ kaffe.html [L]

Något förslag på hur man kommer runt det?

Felet ser du här:

http://www.yacobo.se/privat.html

Det skumma är att det händer för både kaffe.html och privat.html
Privat.html som fungerar för sig borde inte bli påverkad av att första regeln är aktiverad

vad händer om man lägger till ett L på slutet i första regeln?
RewriteRule ^kaffe.html$ privat.html [R="301,L"]

Samma...vilket är skumt

http://www.yacobo.se/privat.html
http://www.yacobo.se/kaffe.html

DirectoryIndex index.html
RewriteEngine on
RewriteBase /
RewriteRule ^kaffe.html$ privat.html [R="301,L"]
RewriteRule ^privat.html$ kaffe.html [L]

Känns det inte skumt? Om jag nu besöker kaffe.html så borde jag hamna på privat.html och borde det avslutas?

Ingen som har något förslag?

1
Bevaka tråden