WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Redirecta allt till domän med .htaccess (https://www.wn.se/forum/showthread.php?t=37436)

Spindel 2009-06-15 21:49

Jo, så här hade jag tänkt mig. Hade tänkt stänga ned en domän och vill därför redirecta allt under domänen till startsidan, dvs. http://domain.com/

Så allt, även om man går in via http://www. och diverse undersidor ska redirectas till http://domain.com/

Apache med .htaccess ska användas.

BjörnJ 2009-06-15 21:54

Det borde nog funka med:
Kod:

Options +FollowSymLinks
RewriteEngine On
RewriteRule .* http://domain.com/ [R=301,L]


BjörnJ 2009-06-15 22:03

Om det är startsidan på samma domän som det redirectas från måste man lägga till följande villkor före RewriteRule (så det inte blir en loop):
Kod:

RewriteCond %{REQUEST_URI} !^/index.html [NC]

Spindel 2009-06-15 23:31

Det är från samma domän till samma domän. Testade detta men fungerade ej:
Citat:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php [NC]
RewriteRule .* http://goplay.se/ [R=301,L]


BjörnJ 2009-06-16 00:05

Hm... sant, jag testade den nu, och det blir redirect loop.

Det här fungerar, men det är inte den perfekta lösningen:
Kod:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !index.php [NC]
RewriteRule .* http://domän.tld/index.php [R=301,L]

Med den lösningen bör man inte ha kvar några andra index.php någonstans under domänen.

domän.tld/vad-som-helst blir redirectad till domän.tld/index.php
utom: domän.tld/någon-katalog/index.php som inte blir redirectad, om index.php finns.
domän.tld/någon-katalog/ blir däremot redirectad.

Tänk på att det även blir redirect på t.ex. bilder och css som du anropar från index.php, om de ligger under samma domän. Om man inte vill det får man lägga till flera RewriteCond som undantar dessa filer.

najk 2009-06-16 07:22

http://no-www.org/

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

BjörnJ 2009-06-16 07:55

Citat:

Originally posted by najk@Jun 16 2009, 07:22
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,L]

Det där kan vara mycket användbart, men det gör inte vad som efterfrågades här.

Spindel 2009-06-16 12:21

Vill dock ha allt under http://domain.com/ och inte http://domain.com/index.php - Om det går att ordna.

BjörnJ 2009-06-17 02:09

Jag kom på det. Känns så självklart nu, borde ha tänkt på det från början. :)

Kod:

Options +FollowSymLinks
RewriteEngine On
RewriteRule .+ http://goplay.se/ [R=301,L]

Här kommer dock inte www.goplay.se/ att redirectas, men däremot allt som ligger under www, utom just /. (Jag förutsätter att domänen med och utan www pekar på samma katalog.)

Om man vill ha redirect även på roten på www kan man göra så här:
Kod:

Options +FollowSymLinks
RewriteEngine On
RewriteRule .+ http://goplay.se/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www [NC]
RewriteRule .* http://goplay.se/ [R=301,L]



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

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