BSDForen.de  

Zurück   BSDForen.de > Geekstuff > Programmieren

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 13.08.2012, 21:21   #1
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.421
mod_rewrite

Mal nen bissel off-topic, aber eventuell weiss Jemand Rat.

Derzeit sieht meine .htaccess wie folgt aus
Code:
php_flag magic_quotes_gpc Off <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ www/ [L] RewriteRule (.*) www/$1 [L] </IfModule>
Also alle url calls werden in das Verzeichnis www/ geleitet worin sich eine index.php befindet.

Nun wuerde ich gerne eine Ausnahme definieren. Und zwar, falls folgender URL Aufruf kommt
Code:
/plugins/<plugin_name>/css/<css_name>.css
Soll dieser ins folgende Verzeichnis gehen
Code:
usr/plugins/<plugin_name>/www/css/<css_name>.css
wobei <plugin_name> und <css_name> nicht fix sind, sondern variabel.
Kann ich das irgendwie mit mod_rewrite machen?
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 14.08.2012, 09:13   #2
laemodost
FreeBSD User
 
Registrierungsdatum: May 2003
Ort: Düsseldorf
Beiträge: 1.704
laemodost eine Nachricht über ICQ schicken
Einfach mal geraten:

Code:
RewriteRule /plugins/(.[^/]+)/css/(.[^.]+).css usr/plugins/$1/www/css/$2.css [L]
laemodost ist offline   Mit Zitat antworten
Alt 14.08.2012, 11:08   #3
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.421
Danke fuer die Antwort.

Ich habs jetzt erfolgreich wie folgt gemacht
Code:
php_flag magic_quotes_gpc Off <IfModule mod_rewrite.c> RewriteEngine on # ---- redirect plugin's www folder if requested # http://domain.tld/plugins/<PluginFolder>/(css|js|img)/<file>.(css|js|gif|jpg|jpeg|png) # css RewriteRule ^plugins/([-A-z0-9]+)/css/([-A-z0-9]+)\.css usr/plugins/$1/www/css/$2\.css [L] # javascript RewriteRule ^plugins/([-A-z0-9]+)/js/([-A-z0-9]+)\.js usr/plugins/$1/www/img/$2\.js [L] # pictures RewriteRule ^plugins/([-A-z0-9]+)/img/([-A-z0-9]+)\.(gif|jpg|jpeg|png) usr/plugins/$1/www/img/$2\.$3 [L] # ---- if it is not a file or directory, move on to normal redirect RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # redirect anything else to www/ RewriteRule (.*) www/$1 [L] RewriteRule ^$ www/ [L] </IfModule>
Ich musste allerdings die folgende Rewrite rules nach ganz unten schieben
Code:
RewriteRule ^$ www/ [L]
und die Conditions hinzufuegen, da es sonst immer verhindert wurde, dass die Plugin Regel zieht.


Nochmal anbei ne Frage jetzt dazu:

Sieht da noch Jemand irgendwelche sicherheitsrelevanten Probleme? Es duerfen halt nur wirklich die css/js/bilder aus den jeweiligen Ordner aufgerufen werden, bei allen anderen requests auf Ordner oder nicht existierende Dateien, soll die letzte Regel immer ziehen, um in den www/ Ordner weiterzuleiten.

Edit:
Achso und weiss evtl. Jemand wie Performance-Intensiv so ein redirect ist. Es soll halt eigentlich so schnell wie moeglich die Seite aufgebaut werden, ohne bemerkenswerte Verzoegerungen.
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Antwort

Stichworte
apache , mod_rewrite


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.