Seite 1 von 1

url mit htacces umleiten weil der ordner nicht mehr existier

Verfasst: 04.12.2010, 09:05
von dacapo
Hallo,

der Titel sagt ja schon einiges, ich habe ein Ordner gehabt der vor ein halben jahr gelöscht worden ist und alles im dokumenten root sich abspielt.

also statt https://www.doma.in/blog/index.php?id=3
sollte alles auf https://www.doma.in/index.php?id=3 googlefreundlich weiter geleitet werden - 301?

Da ich noch nie mit den htaccess Regeln befasst habe, wäre ich über über eure Hilfe sehr dankbar.

Viele Grüße

Verfasst:
von

Verfasst: 04.12.2010, 12:40
von 800XE
https://mit-oder-ohne-www.de/domain-wei ... irect.html

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^domain\.tld$
RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]
wird zu

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^domain\.tld$
RewriteRule ^blog\/(.*)$ http://domain.tld/$1 [L,R=301]
oder

Code: Alles auswählen

RewriteRule ^\/blog\/(.*)$ http://domain.tld/$1 [L,R=301]
oder

Code: Alles auswählen

RewriteRule ^\/blog(.*)$ http://domain.tld$1 [L,R=301]

Verfasst: 04.12.2010, 17:29
von dacapo
vielen dank dir!!!!

toll das einem so schnell geholfen wird.

Verfasst: 04.12.2010, 18:35
von 800XE
dacapo hat geschrieben:vielen dank dir!!!!

toll das einem so schnell geholfen wird.
mit kommt gerade noch der Gedanke
das meines ja nur Die StandrdDomain macht
...
... /blog/ ist da ne Andere Geschichte

https://www.abakus-internet-marketing.d ... ewritecond
im Zweiten Post
dort ist eine zusätzliche "Cond 4 Request_URI" drin

also, den "RewriteCond REQUEST_URI" von dort übernehmen und im Rewrite_Rule dann noch den /blog/ rauslöschen


oder
https://mit-oder-ohne-www.de/domain-wei ... irect.html
via PHP
Wenn alles durch eine Datei läuft

Code: Alles auswählen

if ( substr( $_SERVER['REQUEST_URI'], 6 ) == '/blog/' )
{
  $domain=$_SERVER['HTTP_HOST'];
  $uri=substr( $_SERVER['REQUEST_URI'], 5 );
  make301( $domain . $uri );
}
denke mal das die "6" und "5" stimmen, das die URI mit einem Slash beginnt .....

eventuell einfach mal nen

Code: Alles auswählen

echo( '#' . $_SERVER['HTTP_HOST'] .'#' );
echo( '#' . $_SERVER['REQUEST_URI'] .'#' );
einbauen, damit du siehst ob da nen Slash ist oder nicht



Wenn es mehrere Dateien sind die aufgerufen werden können
domain.tld/blog/tags.php
domain.tld/blog/cats.php
....
dann

Code: Alles auswählen

 RewriteRule ^blog\/(.*)$    /umbau.php 
oder

Code: Alles auswählen

 RewriteRule ^\/blog\/(.*)$    /umbau.php 
und dann in "umbau.php

Code: Alles auswählen

  $domain=$_SERVER['HTTP_HOST'];
  $uri=substr( $_SERVER['REQUEST_URI'], 5 );
  make301( $domain . $uri );
make301 siehe im Link oben /headers-redirect.html

Verfasst: 04.12.2010, 18:47
von dacapo
öhm jetzt bin ich überfordert - wieso umbau?

Verfasst: 04.12.2010, 20:38
von 800XE
dacapo hat geschrieben:öhm jetzt bin ich überfordert - wieso umbau?
das "/umbau.php" ist eine Apache interne Umleitung, die URLanzeige im Browser wird dadurch nicht verändert
dort dann "/blog/" bzw "/blog" aus der URL rausnehmen und via PHP einen 301er machen ... jetzt ändert sich die URLanzeige im Browser

Verfasst: 05.12.2010, 11:08
von dacapo
Ok vielen Dank.

ich werde das mal stemmen.
Danke nochmals für Deine Hilfe!

Verfasst: 05.12.2010, 11:25
von chris21
Bevor Ihr so kompliziert denkt - eine umbau.php oder ähnliches ist da nicht erforderlich, lediglich die Zeile:

Code: Alles auswählen

RewriteRule ^blog/(.*)$ http://www.domain.tld/$1 [R=301,L]
brauchst Du, um den Zugriffe auf den Blogordner ins Root umzuleiten.

Verfasst: 03.01.2011, 00:16
von dacapo
vielen vielen dank!