Na al die maanden rond te snuffelen op GoT mijn eerste post.
Ik ben een beetje aan het prutsen met mod_rewrite onder apache2, debian. Aan mijn virtualhost (/etc/apache2/sites-enabled/default) heb ik dit veranderd:
Nu werkt dit prima, als ik http://localhost/ib/foo of http://localhost/ib/foo/ invul wordt dit allebei netjes veranderd tot http://localhost/ib/index.php?id=foo/. Die id explode ik dan in php, zodat hij te gebruiken is.
Het probleem is dat als ik in een browser http://localhost/ib/foo intik ik goed terecht kom, maar dat de links niet goed meer werken. Want de browser ziet foo als bestand niet als map. Nu is mijn vraag hoe ik een trailing slash kan 'terugzenden' naar de browser. Ik heb al gezocht op google, apache.org en natuurlijk GoT, maar ik kon geen echt antwoord vinden.
Alvast bedankt voor het lezen
Ik ben een beetje aan het prutsen met mod_rewrite onder apache2, debian. Aan mijn virtualhost (/etc/apache2/sites-enabled/default) heb ik dit veranderd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| NameVirtualHost *
<VirtualHost *>
...
<Directory /var/www/ib/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
RewriteEngine On
#Stylesheets en images corrigeren
RewriteRule ^(.*)/style/(.*) style/$2
RewriteRule ^(.*)/images/(.*) images/$2
RewriteCond %{REQUEST_URI} !^.*/style/.*$
RewriteCond %{REQUEST_URI} !^.*/images/.*$
RewriteCond %{REQUEST_FILENAME} !(.*).php
#Slash aan het einde toevoegen
RewriteRule (.*)([a-z])$ $1$2/ #[R] heb ik ook al geprobeerd
RewriteRule (.*)/$ index.php?id=$1 [L]
</Directory>
...
</VirtualHost> |
Nu werkt dit prima, als ik http://localhost/ib/foo of http://localhost/ib/foo/ invul wordt dit allebei netjes veranderd tot http://localhost/ib/index.php?id=foo/. Die id explode ik dan in php, zodat hij te gebruiken is.
offtopic:
Ik weet dat het waarschijnlijk makkelijker is met MultiViews, maar af en toe wil je wat leren
Ik weet dat het waarschijnlijk makkelijker is met MultiViews, maar af en toe wil je wat leren
Het probleem is dat als ik in een browser http://localhost/ib/foo intik ik goed terecht kom, maar dat de links niet goed meer werken. Want de browser ziet foo als bestand niet als map. Nu is mijn vraag hoe ik een trailing slash kan 'terugzenden' naar de browser. Ik heb al gezocht op google, apache.org en natuurlijk GoT, maar ik kon geen echt antwoord vinden.
Alvast bedankt voor het lezen