Mod Rewrite-Regel Zeus Server-Regel (Codeigniter)
-
19-08-2019 - |
Frage
Ich bin über die Live mit einem Codeigniter angetrieben Website zu gehen. Ich will index.php aus der URL entfernen, so dass statt dem:
http://www.mysite.com/index.php/controller
Ich bekomme so etwas wie folgt aus:
http://www.mysite.com/controller
Bisher ziemlich einfach. In der Vergangenheit habe ich die Mod-Rewrite-Regel durch die Codeigniter gelieferten Dokumentation verwendet:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Das funktioniert wie ein Charme. Doch für diese Seite, ich bin mit einem Zeus Web-Server zu verwenden, anstatt Apache, und ich bin nicht vertraut mit ihm überhaupt nicht. Zeus hat seine eigenen Regeln neu schreiben, so dass diese:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/]*\.html$ index.php
würde dies:
match URL into $ with ^/[^/]*\.html$
if matched then set URL = /index.php
Kann mir jemand helfen die erste Regel für Zeus zu umschreiben? Jede Hilfe sehr dankbar empfangen!
Lösung
es heraus - folgende Arbeiten gut für mich:
map path into SCRATCH:DOCROOT from /
set SCRATCH:ORIG_URL = %{URL}
set SCRATCH:REQUEST_URI = %{URL}
look for file at %{SCRATCH:DOCROOT}%{SCRATCH:REQUEST_URI}
if not exists then look for dir at %{SCRATCH:REQUEST_URI}%{SCRATCH:REQUEST_URI}
if not exists then set URL = /index.php%{SCRATCH:REQUEST_URI}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow