redirect 301 htaccess funkar inte

PHPportalen Forum Index » Webbservrar och operativsystem
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
snylften



Medlem i: 4422 dagar

Status: Offline



#741737
Inlägg Skrivet: 2017-06-03 08:37      Ämne: redirect 301 htaccess funkar inte Citera

Hallå.
Jag har i min .htaccess fil lite kod för att göra om mina urler till mer läsvänliga urler. Nu vill jag göra ett tillägg i filen då jag vill slussa användaren till en ny sida då google har gamla urler som inte finns längre. Jag vill att användaren ska landa på rätt sida istället för på 404. Då har jag goolglat att man använder sig av redirect 301 /gammalSida.html https://www.minsite.se/nysida/

Men detta funkar inte för mig. Mina andra regler har jag fått hjälp med då jag är kass på reguljära uttryck. Men kan den koden ha något att göra med att inte man redirect inte fungerar kanske? Eller kan ni se något i koden som är direkt fel? Mycket tacksam för hjälp Smile

KOD:
1:
<IfModule mod_rewrite.c>
2:
    RewriteEngine On
3:
 
4:
Redirect 301 /resultpage.php?querystring=Kj%25C3%25B8pesentre&a=1 https://www.minsite.se/sok/Kjøpesentre
5:
Redirect 301 /resultpage.php?querystring=Elektroverksteder&offset=0&sortby=-default&hits=25&a=1 https://www.minsite.se/sok/Elektroverksteder
6:
Redirect 301 /resultpage.php?querystring=Elektroverksteder*&a=1 https://www.minsite.se/sok/Elektroverksteder
7:
 
8:
 
9:
    RewriteCond %{HTTP_HOST} ^minsite\.se$ [NC]
10:
   RewriteRule ^.*$ http://www.minsite.se%{REQUEST_URI} [R=301,L]
11:
    RewriteCond %{REQUEST_FILENAME} !-f
12:
    RewriteCond %{REQUEST_FILENAME} !-d
13:
    RewriteRule ^([^/]+)/(\d+)/?$ profile.php?name=$1&id=$2 [L]
14:
    RewriteRule ^sok/([^/]+)$ search.php?q=$1 [L,B]
15:
 
16:
    RewriteCond %{REQUEST_FILENAME} !-f
17:
    RewriteCond %{REQUEST_FILENAME} !-d
18:
    RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /places.php?what=$1&place=$2&mid=$3 [L]
19:
 
20:
    RewriteCond %{SERVER_PORT} 80
21:
   RewriteRule ^(.*)$ https://www.minsite.se/$1 [R,L]
22:
</IfModule>
23:
ErrorDocument 404 /_errorpages/404.php
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Koenigsegg



Medlem i: 3690 dagar

Status: Offline



#741738
Inlägg Skrivet: 2017-06-04 01:30      Ämne: Citera

Query string ingår inte i "input" till Redirect, utan den finns i en variabel.

Frågetecken lösa och fria i ett regexp kan nog röra till det också för den delen.

Läs mera:
https://wiki.apache.org/httpd/RewriteQueryString
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
snylften



Medlem i: 4422 dagar

Status: Offline



#741739
Inlägg Skrivet: 2017-06-04 08:43      Ämne: Citera

Tack för svaret men jag förstår inte riktigt begreppen i ditt svar.

Jag har tittat på en massa guider för att få till redirect 301 och syntaxen är ju mycket simpel. Och alla guider visar samma syntax nämligen

KOD:
1:
redirect 301 /gammalsida.html http://www.site.se/ny/sida/


Men när jag gör det i min .htaccess fil så fungerar det inte och jag kan inte förstå varför. Jag har t.o.m testat att ta bort alla parametrar från gamla adressen ifall om att de skulle ställa till det på något sätt.
KOD:
1:
Redirect 301 /resultpage.php https://www.minsite.se/sok/Kjøpesentre

Men oavsett vad jag gör så kommer jag till min 404 sida...
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4629 dagar
Från: Tavesta
Status: Offline



#741740
Inlägg Skrivet: 2017-06-04 12:01      Ämne: Citera

En http- eller https-url består av upp till sex delar:
1) Protokoll (ex: http:)
2) Domän (ex: //www.minsite.se)
3) Port (ex: :8080)
4) Resurs (ex: /resultpage.php)
5) Query string eller Frågesträng (ex: ?querystring=Kj%25C3%25B8pesentre&a=1)
6) Hash eller Fragment (ex: #Historia)
https://sv.wikipedia.org/wiki/Uniform_Resource_Locator

Om jag uppfattat Koenigsegg rätt så är det bara den fjärde delen av url:en som används som indata till Redirect.
I utdatat kan däremot alla delar användas

I ditt fall kan du nog använda mod_rewrite istället:
KOD:
1:
RewriteCond %{QUERY_STRING} ^querystring=Kj%25C3%25B8pesentre&a=1
2:
RewriteRule ^resultpage\.php$ https://www.minsite.se/sok/Kjøpesentre [R=301,L]

Det kan säkert göras på ett elegantare sätt också.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Koenigsegg



Medlem i: 3690 dagar

Status: Offline



#741741
Inlägg Skrivet: 2017-06-05 11:41      Ämne: Citera

snylften skrev:
KOD:
1:
Redirect 301 /resultpage.php https://www.minsite.se/sok/Kjøpesentre

Men oavsett vad jag gör så kommer jag till min 404 sida...

Har du prövat att ta bort inledande slash?

harald_b skrev:
Om jag uppfattat Koenigsegg rätt så är det bara den fjärde delen av url:en som används som indata till Redirect.
I utdatat kan däremot alla delar användas

Stämmer bra det Smile. Och jag hade nog gjort ungefär som du skrev också.
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
snylften



Medlem i: 4422 dagar

Status: Offline



#741742
Inlägg Skrivet: 2017-06-05 14:22      Ämne: Citera

tjohoo jag tog bort den inledande slasken innan resultpage och då fungerade det. Tack så mycket!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Webbservrar och operativsystem
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic