WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur gör jag apache rewrite för att... (https://www.wn.se/forum/showthread.php?t=10546)

chrizz 2005-10-25 19:57

Jag vill att alla som gå in på någon adress som av händelse börjar med http://domän.com ska direkt skrivas om till http://www.domän.com

Det innebär att även http://domän.com/asdf/osv/qwerty.html ska gå till http://www.domän.com/asdf/osv/qwerty.html och inte bara som exemplet ovan.

Vi kan börja med följande i .htaccess:

RewriteEngine ON

...sen är jag lost. please help :)

DeSoto 2005-10-25 22:12

Det kan du göra utan htaccess, med ren php.

$url = $_SERVER["SERVER_NAME"];
if($url == 'dinsida.com')
{
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://www.dinsida.com'.$_SERVER['REQUEST_URI']);
}

chrizz 2005-10-25 22:46

Citat:

Originally posted by DeSoto@Oct 25 2005, 22:12
Det kan du göra utan htaccess, med ren php.

$url = $_SERVER["SERVER_NAME"];
if($url == 'dinsida.com')
{
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: );]http://www.dinsida.com'.$_SERVER[...EST_URI']);
}

Jodå, klart det går, men det känns bättre med mod_rewrite.

Bladet 2005-10-25 23:46

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

borde nog fungera

chrizz 2005-10-26 01:08

Citat:

Originally posted by Bladet@Oct 25 2005, 23:46
RewriteEngine On
RewriteCond %{HTTP_HOST} ^doman\.com$ [NC]
RewriteRule ^(.*)$ http://www.doman.com$1 [R=301,L]

borde nog fungera

Jag har varit inne på det där, men vad det gör är att skicka till http://www.doman.com oavsett om man var inne på en annan del av sidan. Uhm, alltså:

Ditt exempel:
http://doman.com/asdf -> http://www.doman.com

Jag är ute efter:
http://doman.com/asdf -> http://www.doman.com/asdf

Mvh.

Edit:

Nej, nu är det ännu konstigare än som jag beskrev ovan.

Med bakgrund att min www-root är /var/www så blir det så här med förslaget:

http://doman.com/temp -> http://www.doman.com/var/www/temp
http://doman.com/temp/ -> http://www.doman.com/

Bladet 2005-10-26 14:29

Det fungerade fint när jag testade lite med apache2, doman.com/test blev www.doman.com/test automagiskt.

Filip 2005-10-26 16:34

Citat:

Originally posted by Bladet@Oct 25 2005, 23:46
RewriteEngine On
RewriteCond %{HTTP_HOST} ^doman.com [NC]
RewriteRule ^(.*) http://www.doman.com1 [R=301,L]
borde nog fungera

Jag har använt exakt den metoden ett bra tag, utan några problem... trodde jag...
jämför:
http://dll-files.com/support/
http://dll-files.com/dllindex/dll-files.sh...shtml?msclock32
Konstigt?

tobbi71 2005-10-26 21:41

KAnske jag är ute o cyklar..

men om man ska få en sträng

http//någonting.se/something.php -> http://www.någonting.se/somethin.php

e de väl bara göra:

$sIntxt="http://grodan.boll/vsKermit.php"; //inputsträng

if( $sIntxt not equal "www") //ifsats för att kolla om sIntxt inte innehåller www
{
$ser="http://";
$res=str_replace($ser,"http://www.",$sIntxt);
}

//ger väl $res="http://www.grodan.boll/vskermit.php" ... eller?

Gör bättre ifsats kommer inte på kommandon..

chrizz 2005-10-27 01:59

Som sagt, jag vill inte göra det i PHP.

Thomas 2005-10-27 02:20

OT kanske men titeln sa apache, om man har tillgång till vhostfilerna är kanske nedanstående att föredra.


<VirtualHost 111.222.222.111>
ServerName domän.tld
Redirect / http://www.domän.tld
</VirtualHost>

<VirtualHost 111.222.222.111>
ServerName www.domän.tld
ServerAlias www.domän.tld
DocumentRoot /home/domän/public_html
<Directory /home/domän/public_html>
Allow from all
AllowOverride All
Order allow,deny
</Directory>
</VirtualHost>


Den redirectar ju inte undersidor iofs men gör man det från början blir det ju inte problem.


Alla tider är GMT +2. Klockan är nu 10:35.

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