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!

War es hilfreich?

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
scroll top