Apache mod_rewrite

Harris Kosmidhs hkosmidi at laboratorium.gr
Thu Nov 29 14:12:21 EET 2007


Καλησπέρα,

προσπαθώ να χρησιμοποιήσω το rewrite του apache2 για να φτιάξω μια 
σελίδα αλλά κολλάω σε ένα πρόβλημα συνέχεια.

Έχω στο .htaccess :

RewriteEngine On
RewriteBase   /music/
RewriteRule 
^/.*(\.css)|(\.jpg)|(\.png)|(\.html)|(\.gif)|(\.js)|(\.txt)|(\.ico)$ - [L]
RewriteRule ^(.*)/(.*)/(.*)$ index.php?module=$1&event=$2&params=$3 [L]
RewriteRule ^(.*)/(.*)$ index.php?module=$1&event=$2 [L]

Έστω ότι πάω στο http://localhost:81/music/admin/login. Όντως φορτώνει 
το κατάλληλο module από το index.php (δηλαδή παίζει το 2ο rewrite rule).
Το πρόβλημα που έχω είναι με τις φωτογραφίες και τα css. Έτσι αν κάπου 
στον κώδικα έχω <img src="images/no.gif"> τότε αυτή δε φορτώνεται.

Κάτι σχετικό που βλέπω στα logs αλλά δεν καταλαβαίνω τι είναι :

127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ec6260/initial] (1) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] pass through C:/Program Files/EasyPHP 
2.0b1/www/music/style.css
127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ecf320/initial] (3) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] strip per-dir prefix: C:/Program 
Files/EasyPHP 2.0b1/www/music/xajax/xajax_js/xajax.js -> 
xajax/xajax_js/xajax.js
127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ecf320/initial] (3) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] applying pattern 
'^/.*(\.css)|(\.jpg)|(\.png)|(\.html)|(\.gif)|(\.js)|(\.txt)|(\.ico)$' 
to uri 'xajax/xajax_js/xajax.js'
127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ecf320/initial] (1) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] pass through C:/Program Files/EasyPHP 
2.0b1/www/music/xajax/xajax_js/xajax.js
127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ec6260/initial] (3) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] add path info postfix: C:/Program 
Files/EasyPHP 2.0b1/www/music/admin -> C:/Program Files/EasyPHP 
2.0b1/www/music/admin/images/loading.gif
127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ec6260/initial] (3) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] strip per-dir prefix: C:/Program 
Files/EasyPHP 2.0b1/www/music/admin/images/loading.gif -> 
admin/images/loading.gif
127.0.0.1 - - [29/Nov/2007:14:06:42 +0200] 
[localhost/sid#8e2ec8][rid#ec6260/initial] (3) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] applying pattern 
'^/.*(\.css)|(\.jpg)|(\.png)|(\.html)|(\.gif)|(\.js)|(\.txt)|(\.ico)$' 
to uri 'admin/images/loading.gif'
127.0.0.1 - - [29/Nov/2007:14:06:43 +0200] 
[localhost/sid#8e2ec8][rid#ec6260/initial] (1) [perdir C:/Program 
Files/EasyPHP 2.0b1/www/music/] pass through C:/Program Files/EasyPHP 
2.0b1/www/music/admin

(μην ακούσω κράξιμο! τώρα είμαι σε win και κάνω τις δοκιμές, αλλά και 
στο σπίτι με apache2 σε linux τα ίδια μου κάνει).

Έχει κανείς καμιά ιδεά; Το 1ο rewrite rule το βρήκα κάπου ψάχνοντας για 
το πρόβλημά μου. *Υποψιάζομαι* ότι το 
^/.*(\.css)|(\.jpg)|(\.png)|(\.html)|(\.gif)|(\.js)|(\.txt)|(\.ico)$ 
δουλεύει για το music/mystyle.css πχ, αλλά όχι για το 
music/admin/mystyle.css

Ευχαριστώ και σορρυ για το off-topic.
Χάρηε




More information about the Linux-greek-users mailing list