Ich versuche, die richtige .htaccess zu schaffen, die ich als solche Karte erlauben würde:Wildcard Subdomain .htaccess und Codeigniter
http://domain.com/ --> http://domain.com/home
http://domain.com/whatever --> http://domain.com/home/whatever
http://user.domain.com/ --> http://domain.com/user
http://user.domain.com/whatever --> http://domain.com/user/whatever/
hier jemand in den obigen URLs eingeben würde jedoch intern, wäre es Umleiten, als wäre es die URL rechts.
Auch die Sub-Domain dynamisch sein würde (das heißt, http://user.domain.com ist nicht eine tatsächliche Sub-Domain, sondern wäre eine .htaccess Rewrite sein)
Auch/home ist mein Standard-Controller so würde keine Sub-Domain zwingen sie intern/home Controller und alle darauf folgenden Pfade (wie in Beispiel 2 oben gezeigt) wären die (catch-all) Funktion innerhalb dieses Controllers.
Wie weise, wenn eine Sub-Domain übergeben wird, es wäre für sie zusammen mit allen (catch-all) als ein (catch-all) Controller erhalten geben (wie in # 4 Beispiel oben)
Hoffentlich ich Ich frage nicht viel hier, aber ich kann nicht scheinen, die richtigen. Htaccess oder Routing-Regeln (in Codeigniter) dafür herauszufinden.
httpd.conf und Hosts sind gut eingerichtet.
EDIT # 1
Hier ist meine .htaccess, die nahe kommt, aber an einem gewissen Punkt ist vermasselt:
RewriteEngine On
RewriteBase/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).domain [NC]
RewriteRule (.*) index.php/%1/$1 [QSA]
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L,QSA]
Mit der oben, wenn ich unter: http://test.domain/abc/123 das ist, was ich bemerke in $ _SERVER var (ich habe einige der Felder entfernt):
Array
(
[REDIRECT_STATUS] => 200
[SERVER_NAME] => test.domain
[REDIRECT_URL] => /abc/123
[QUERY_STRING] =>
[REQUEST_URI] => /abc/123
[SCRIPT_NAME] => /index.php
[PATH_INFO] => /test/abc/123
[PATH_TRANSLATED] => redirect:\index.php\test\test\abc\123\abc\123
[PHP_SELF] => /index.php/test/abc/123
)
Sie die PATH_TRANSLATED ist nicht richtig für zu sehen sein med und ich denke, das könnte Dinge vermasseln?
Danke Takinbo, leider hat das nicht funktioniert. Es resultierte in einem Server 500 (Anforderung überschritten das Limit von 10 internen Weiterleitungen aufgrund eines möglichen Konfigurationsfehlers) – Gautam
Ich werde einen Test ausführen und die richtige Kombination herausfinden. – takinbo