Problem:
Verwenden Sie Kohana / PHP, um eine gehostete Website für andere Unternehmen zu entwickeln. Ich fordere den Kunden auf, in seinem DNS-Server einen CNAME-Eintrag einzugeben, um auf meine Domain zu verweisen. Z.B. Ссылка zeigt auf Ссылка .
Somit ist der Eintrag % {HTTP_HOST} auf meinem Apache-Server 'ladies.somecompany.com'
Obwohl Apache das anscheinend tut, ist $ _SERVER ['REQUEST_URI'] immer noch "/". Das Problem ist, dass Kohana $ _ SERVER ['REQUEST_URI'] verwendet, um die Anfrage an den entsprechenden Controller-Code weiterzuleiten. In diesem Fall wird es an den base Index-Controller und nicht an den Einladungen -Controller weitergeleitet.
Fakten:
Die von mir verwendeten Apache mod_rewrite-Direktiven (in der .htaccess-Datei): -
%Vor%in der index.php, mache ich:
%Vor%und ich bekomme:
%Vor%Also ändert das mod_rewrite die REQUEST_URI nicht?
Benötigen Sie:
%Vor%Wie bekomme ich das?
======================= Bearbeiten
Protokolleinträge neu schreiben: -
%Vor%1.) Funktioniert dieser Link, wenn Sie ihn manuell aufrufen? Ссылка
2.) RewriteCond %{HTTP_HOST} !^www.mydomain.com$
muss wie RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$
3.) RewriteRule .* index.php?kohana_uri=
ist eine Endlosschleife, da index.php auch auf die Regex .*
[PT,QSA,L]RewriteRule ^(.*)$ invites/ [R=301]
passt.
4.) Sie benötigen das R-Flag, um den Benutzer zum Einladen von / %{REQUEST_URI}
umzuleiten. Die $_SERVER['REQUEST_URI'] = $_GET['myURI'];
ist dieselbe URL wie in der Browser-Adressleiste.
5.) Wenn Sie den Besucher nicht umleiten möchten, können Sie das kohana System "hacken" und myURI
in der ersten Zeile der index.php setzen, wenn dies die einzige Option wäre, um es zum Laufen zu bringen. Der %code% kann durch mod_rewrite wie gewünscht gefüllt werden.
Löschte meine vorherige Antwort, weil es völlig falsch war. Danke für den Dokumentationslink, etwas Neues gelernt.
Entfernen Sie das QSA-Flag:
%Vor%'qsappend | QSA' (Abfragezeichenfolge anhängen) Dieses Flag zwingt die Neuschreibmaschine zu Anfügen einer Abfragezeichenfolge Teil der Substitutions-String zum vorhandenen string, anstatt es zu ersetzen. Benutzen wenn Sie mehr Daten hinzufügen möchten die Abfragezeichenfolge über eine Rewrite-Regel.
Sollte das beim ersten Mal bemerkt haben.
Tags und Links php apache dns kohana mod-rewrite