Frage Wie root root und nur root über htaccess?


Ich möchte nur meine root auf eine andere URL umleiten, aber alle / sub / Verzeichnisse beibehalten, wo sie hingehören (und umleiten)

Beispiel:

mysite.com/1 leitet irgendwohin um mysite.com/admin öffnet eine Seite

Ich möchte, dass mysite.com/ zu mysecondsite.com umleitet und nur dies mit einer 301-Weiterleitung mit htaccess


49
2017-08-26 01:25


Ursprung




Antworten:


Versuche dies:

RewriteEngine on
RewriteCond %{HTTP_HOST} mysite\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ http://mysecondsite.com/ [L,R=301]

Wenn Sie nicht nach der alten Domäne suchen müssen (z. B. wenn das Verzeichnis, in dem Ihre .htaccess abgelegt ist, nur von der alten Domäne verwendet wird), können Sie die zweite Zeile entfernen.


69
2017-08-26 02:44



In meinem Fall musste ich den Traffic auf mysite.com/ umleiten, aber nicht auf foo.mysite.com. Daher musste ich einen Regex zu Zeile 2 hinzufügen: RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC] um sicherzustellen, dass die Übereinstimmung für den genauen Gastgeber war - jaygooby
Es ist effizienter, den URL-Pfad in der RewriteRule  Muster (wie in @ DaveForgacs Antwort), anstatt einen zusätzlichen zu verwenden Bedingung um das zu überprüfen REQUEST_URI Servervariable. - MrWhite


Wenn Sie meinen, dass Sie nur "/" an eine andere Domain weiterleiten möchten, funktioniert dies:

RewriteEngine on
RewriteRule ^$ http://www.example.com/ [R=301,L]

Dies entspricht nur dem Wurzelverzeichnis der Domain und nichts dahinter, sodass nur der Domainname umgeleitet wird, ohne dass ein Dateiname angegeben wurde.


36
2017-08-26 02:25



Eine leichte Variation funktionierte für mich. Am Ende meines htaccess, nachdem alle anderen Regeln aufgerufen wurden, wollte ich nur eine Willkommensseite für jeden Besucher meiner Stammdomäne darstellen (ohne Subdomain): RewriteCond% {HTTP_HOST}! ^ (Subdomain1 | subdomain2) \. Mysite \ .com $ [NC] RewriteRule ^ $ /willkommen.php [NC, L] - MarsAndBack


Das sollte gut funktionieren:

RedirectMatch 301 ^/$ https://example.com/

11
2017-12-17 19:48



Dies wäre den vorhandenen Antworten vorzuziehen, wenn Sie mod_rewrite nicht bereits für andere Weiterleitungen verwenden. - MrWhite


Eine kürzere Lösung:

Redirect 301 / http://mysecondsite.com/

-3
2018-01-30 13:18



Das wird NICHT tun, was Jardel will. Es wird ALLE Seiten und nicht nur die Wurzel umleiten. - sharoz