[htaccess] mod_rewrite
Goedenavond,
Ik heb al 41 tutorials gelezen, maar ik kom er niet uit.
Oude url:
www.website.nl/index.php?page_id=01
Nieuwe url:
www.website.nl/01/title
Nu wil ik 01 als page_id krijgen en title als page_url, en het moet natuurlijk ook werken als er geen title is gegeven...
Heb nu dit:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
RewriteRule ^(.*)/(.*)/ index.php?page_id=$1&title=$2
RewriteRule ^(.*)/(.*) $1/$2/
RewriteRule ^(.*)/ index.php?page_id=$1
Ik heb al 41 tutorials gelezen, maar ik kom er niet uit.
Oude url:
www.website.nl/index.php?page_id=01
Nieuwe url:
www.website.nl/01/title
Nu wil ik 01 als page_id krijgen en title als page_url, en het moet natuurlijk ook werken als er geen title is gegeven...
Heb nu dit:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
RewriteRule ^(.*)/(.*)/ index.php?page_id=$1&title=$2
RewriteRule ^(.*)/(.*) $1/$2/
RewriteRule ^(.*)/ index.php?page_id=$1
Gesponsorde koppelingen:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)/(.*)[/]? index.php?page_id=$1&title=$2 [L]
RewriteRule ^(.*)[/]? index.php?page_id=$1 [L]
Is dit niet wat je wilt?
Wat wil je trouwens met -d ?
[/]? zorgt ervoor dat de / optioneel is.
[L] zorgt ervoor dat die bij een match stopt, dus worden de volgende regels niet uitgevoerd.
Kan trouwens zijn dat de / tussen [] moet staan dus:
RewriteRule ^(.*)[/](.*)[/]? index.php?page_id=$1&title=$2 [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)/(.*)[/]? index.php?page_id=$1&title=$2 [L]
RewriteRule ^(.*)[/]? index.php?page_id=$1 [L]
Is dit niet wat je wilt?
Wat wil je trouwens met -d ?
[/]? zorgt ervoor dat de / optioneel is.
[L] zorgt ervoor dat die bij een match stopt, dus worden de volgende regels niet uitgevoerd.
Kan trouwens zijn dat de / tussen [] moet staan dus:
RewriteRule ^(.*)[/](.*)[/]? index.php?page_id=$1&title=$2 [L]
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
Alle plaatjes/css/javascripts werken niet meer, volgens mij was daar die -d voor?
-f kijkt of een bestand bestaat, alleen moet het dit zijn (even gespiekt bij een ZF project)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-f
Dit werkt:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
RewriteRule ^(.*)/(.*)[/]? index.php?page_id=$1&title=$2 [L]
RewriteRule ^(.*)[/]? index.php?page_id=$1 [L]
Werkt niet:
www.website.nl/4/contact/
Werkt wel:
www.website.nl/4/contact
www.website.nl/4/
www.website.nl/4
Nu wil ik later nog als ze naar www.website.nl/4 of naar www.website.nl/4/ gaan er automatisch www.website.nl/4/contact/ van gemaakt wordt. Maar dat gaat via PHP.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
RewriteRule ^(.*)/(.*)[/]? index.php?page_id=$1&title=$2 [L]
RewriteRule ^(.*)[/]? index.php?page_id=$1 [L]
Werkt niet:
www.website.nl/4/contact/
Werkt wel:
www.website.nl/4/contact
www.website.nl/4/
www.website.nl/4
Nu wil ik later nog als ze naar www.website.nl/4 of naar www.website.nl/4/ gaan er automatisch www.website.nl/4/contact/ van gemaakt wordt. Maar dat gaat via PHP.
bumpje...



