Vraag Hoe root en alleen root via htaccess omleiden?


Ik wil alleen mijn root omleiden naar een andere URL, maar alle / sub / directory's waar ze horen behouden (en doorverwijzen)

voorbeeld:

mysite.com/1 verwijst naar ergens mysite.com/admin opent een pagina

ik wil mysite.com/ omleiden naar mysecondsite.com en alleen dit met een 301-omleiding met behulp van htaccess


49
2017-08-26 01:25


oorsprong




antwoorden:


Probeer dit:

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

Als u niet hoeft te controleren op het oude domein (bijvoorbeeld als de map waar uw .htaccess wordt geplaatst alleen door het oude domein wordt gebruikt), kunt u de tweede regel verwijderen.


69
2017-08-26 02:44



In mijn geval moest ik het verkeer omleiden naar mysite.com/ maar niet foo.mysite.com dus moest ik een regex toevoegen aan regel 2: RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC] om ervoor te zorgen dat de match voor de exacte host was - jaygooby
Het is efficiënter om het URL-pad in de te controleren RewriteRule  patroon (zoals in het antwoord van @ DaveForgac), in plaats van een extra te gebruiken staat om de te controleren REQUEST_URI server variabele. - MrWhite


Als u bedoelt dat u '/' alleen naar een ander domein wilt doorsturen, werkt dit:

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

Dit komt alleen overeen met de root van het domein met niets erna, dus het zal alleen de domeinnaam omleiden zonder dat een bestandsnaam gespecificeerd is.


36
2017-08-26 02:25



Een kleine variatie werkte voor mij. Toegevoegd aan de onderkant van mijn htaccess, na alle andere ingeroepen regels, wilde ik gewoon een welkomstpagina weergeven aan iedereen die mijn hoofddomein bezoekt (zonder enig subdomein): RewriteCond% {HTTP_HOST}! ^ (Subdomain1 | subdomain2) \. Mijnsite \ .com $ [NC] RewriteRule ^ $ /welcome.php [NC, L] - MarsAndBack


Dit zou prima moeten werken:

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

11
2017-12-17 19:48



Dit zou de voorkeur hebben (voor de bestaande antwoorden) als u mod_rewrite nog niet voor andere omleidingen gebruikt. - MrWhite


Een kortere oplossing:

Redirect 301 / http://mysecondsite.com/

-3
2018-01-30 13:18



Dit zal NIET doen wat jardel wil. Het zal ALLE pagina's omleiden in plaats van alleen de root. - sharoz