| 

.NET C# Java Javascript Exception

2
Hey Leute,

ich benutze für ein Website das CodeIgniter Framework. Dort habe ich folgende htaccess Datei:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^core.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^app.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]


Nun sind alle controller in Englisch angelegt:
http://www.domain.de/public/works/supplier

jedoch würde ich gerne alle Adressen manuel nochmal umschreiben:
http://www.domain.de/public/referenzen/lieferanten/

Weiß jemand ob ich das so machen kann?

Viele Grüße
Paul
15.05.2013
spiike 170 1 7
1 Antwort
0
Das sollte in etwa so funktionieren.
RewriteEngine On
RewriteBase /

# I18n
RewriteRule ^public/referenzen/lieferanten/$ /public/works/supplier/ [P]
RewriteRule ^public/referenzen/kunden/$ /public/works/customers/ [P]
# etc.

RewriteCond %{REQUEST_URI} ^core.*
# ...

Du legst also für jeden deutschsprachigen Pfad eine Proxy-Anweisung an, der dann auf den englischen Pfad umgeschrieben wird. Der englische Pfad wird dann von den anderen Anweisungen auf die Parameter für index.php umgeschrieben.

Besonders sauber finde ich diese Lösung aber nicht.
1. Braucht das mehr Server-Ressourcen (wegen dem Proxy-Aufruf)
2. Wird die Response-Time länger (abhängig von der Server-Last)
3. Für jeden neuen Pfad muss eine neue Regel in die .htaccess geschrieben werden

Besser wäre es, wenn die Übersetzung der Routen in PHP gelöst wird, etwa durch eine Lookup-Table beim Routing. Ob das mit CodeIgniter geht, kann ich nicht beurteilen, aber eventuell hilft dir der Thread Is possible change the uri (name of controller) in the URL? weiter.
17.05.2013
phg 1,6k 4

Stelle deine Php-Frage jetzt!