2016-04-11 15 views
0

ich habe diese Rewrite-Regel in meiner .htaccess-Datei im Stamm gespeichert:.htaccess reqwrite Regel Umleitung

RewriteCond %{HTTP_HOST} ^portal.domain.uk 
RewriteRule ^(.*)$ http://domain.uk/subdomains/portal/$1 [L,NC] 

aber seine Umleiten, wenn ich will nicht, dass es zu.

IVE versucht [l,NC,QSA] auch wie die Fahnen mit, aber die Umleitung noch zu domain.com/subdomains/portal

gibt es eine Weise, die ich es aus Umleiten des Browsers zu stoppen und nur halten sie in dieses Verzeichnis abgebildet?

Antwort

0

Apache sieht, dass die Substitutionszeichenfolge des rewriterule eine andere URL ist als die, durch die der Benutzer blätterte. Einer ist eine Subdomain und der andere ist die Hauptdomain. Aus diesem Grund wird Apache automatisch eine 301 Weiterleitung durchführen, auch wenn Sie R flag dort nicht haben. Das ist Absicht. Wenn Sie die aktuelle URL behalten möchten, aber den Inhalt dieser URL erhalten wollen, müssen Sie proxypass dazu haben. Sie können dies einfach mit der P flag in der RewriteRule tun.

Versuchen Sie es.

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^portal.domain.uk 
RewriteRule ^(.*)$ http://domain.uk/subdomains/portal/$1 [P] 

Wenn es nicht funktioniert, stellen Sie sicher, dass Sie mod_proxy aktiviert haben.

+0

Ich werde das versuchen. Wie aktiviere ich mod_proxy? – user3843997

+0

Es hängt davon ab, auf welchem ​​Server Sie sich befinden. Ubuntu, Centos usw. Es gibt Befehle zum Ausführen oder Sie können in der Apache-Konfiguration auskommentieren. –