it-swarm.com.de

Problem beim Umschreiben von Subdomain zu Verzeichnis

Ich möchte demo.example.com zu example.com/my-demo umleiten. Dies ist meine Umschreiberegel, aber auf meinem Produktionsserver funktioniert sie nicht:

  RewriteCond %{HTTP_Host} ^demo\.example\.com
  RewriteRule ^(.*)$ /my-demo/$1 [R=301,L]
2
AlxVallejo

Derzeit leiten Sie auf denselben Host um. dh demo.example.com/file leitet zu demo.example.com/my-demo/file um, nicht zu example.com/my-demo/file, was zu einer Umleitungsschleife führt. Sie müssen eine absolute URL in der Ersetzung RewriteRule angeben:

RewriteEngine On
RewriteCond %{HTTP_Host} =demo.example.com
RewriteRule ^(.*)$ http://example.com/my-demo/$1 [R=301,L]
2
MrWhite

legen Sie dies in der .htaccess Datei in Ihrem demo.example.com Verzeichnis ab:

 RewriteEngine On 
 RewriteCond% {HTTP_Host} ^ Demo\.example\.com [NC] 
 RewriteRule (. *) Http://example.com/demo/$1 [ L, R = 301] 

das heißt: demo.example.com befindet sich im Ordner root-folder/demo
Legen Sie diese .htaccess -Datei in den Ordner demo, nicht in den Ordner root-folder.

hoffe das klappt für dich.

1
mitchell

Haben Sie einen ServerAlias ​​demo.example.com für den VirtualHost, der diesen RewriteRule hat? Wenn nicht, ist das der Grund, warum es nicht funktioniert.

0
Tero Kilkanen

Wenn es sich nicht um einen ServerAlias, sondern um eine Unterdomäne handelt, denken Sie daran, die .htaccess-Datei in der Unterdomäne und nicht im Hauptdomänenverzeichnis abzulegen. Fügen Sie auch "RewriteEngine On" in .htaccess hinzu, falls Sie dies noch nicht getan haben.

0
PHPstart