HTACCESS
Ik weet niet waar ik dit moet plaatsen dus probeer ik het hier even...
Ik heb een htaccess file gemaakt met de volgende instellingen:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^cb-services\.nl$ [NC]
RewriteRule ^(.*)$ http://www.cb-services.nl/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)Page.php$ http://www.cb-services.nl/$1 [R=301,L]
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1
RewriteRule ^search.html$ /search.php [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
RewriteRule ^([^/]*)-([^/]*)$ /Page.php?page=$1&sub=$2 [L]
RewriteRule ^([^/]*)$ /Page.php?page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . http://%{HTTP_HOST} [R,L]
ErrorDocument 404 http://www.cb-services.nl/404.html
Dit lijkt allemaal goed te werken TOT ik een directory benader die al bestaat en daar een subfile in wil openen via de browser.
http://www.cb-services.nl/Blog/index.php bijvoorbeeld.
Dan redirect hij naar www.cb-services.nl
Als je naar de map http://www.cb-services.nl/js ga dan doet hij dit ook (terwijl de map bestaat) maar dit wil ik ook.
Sterker nog, ik redirect het liefste niet maar ik wil dar hij gewoon zoals bij overige pagina's Page.php?page=js dan opent maar aangezien de directory bestaat doet hij dit niet.
Iemand een tip?!?
Gr,
Richard
Serieus niemand die hier iets van weet :( ?
bestond hij wel, dan was van toepassing:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
deze regel is niet van toepassing:
RewriteRule ^([^/]*)-([^/]*)$ /Page.php?page=$1&sub=$2 [L]
want je hebt geen - in je path.
RewriteRule ^([^/]*)$ /Page.php?page=$1 [L]
is ook niet van toepassing, want er zit wél een / in Blog/index.php
dan komen we bij
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . http://%{HTTP_HOST} [R,L]
het is inderdaad geen directory, dus redirect je naar http://www.domein.nl/
Er zit wel een - in mijn pad.
want ik heb bijvoorbeeld: http://www.cb-services.nl/Hosting (gaat naar Page.php?page=Hosting) en http://www.cb-services.nl/Hosting-Prijzen (gaat naar Page.php?page=Hosting&sub=Prijzen)
Ik heb geen index nee, dan moet hij naar Page.php?page=Index gaan.
Toevoeging op 26/09/2014 09:05:33:
Het werk ook goed alleen kom ik niet meer in die Blog.index.php op deze manier.
Als ik alles weghaal zoals jij adviseert werkt het helemaal niet meer :)
Quote:
Er zit wel een - in mijn pad.
Quote:
Blog/index.php
misschien wil je hem even aanwijzen? Ik zie geen -
---
Ik adviseer niet dat je alles weg moet halen, ik bespreek alleen blokje voor blokje je rewrite rules mbt path Blog/index.php om te kijken waar je uitkomt.
En mijn conclusie is dat je inderdaad op de laatste regel uitkomt en rewrite naar /
(wat niet netjes is, want een 404-header was op zijn plaats geweest, maar dat is een andere discussie)
On-topic:
Nee, klopt. Bij die Blog zit er geen - in het pad maar bij de rest van de site wel.
Ik weet gewoon niet goed wat ik moet doen nu...
Ik wil dus dat het zonder - naar ?page=$1 gaat en met - naar ?page=$1&sub=$2 zonder dat je het ziet in de adresbalk maar als je naar een bestand gaat hij gewoon naar het bestand gaat en als je naar een bestaande directory gaat hij toch nog ?page=$1 doet tenzij je binnen die directory naar een file verwijst. Dat laatste lijkt hij dus niet te doen in het geval van Blog/index.php (very strange).
Ik heb achter ?page=$1 een 404 afhandeling als je naar een niet bestaande pagina gaat en als je teveel - gebruikt ook een officiele 404 afhandeling in htaccess maar die staat hier niet bij.
Gewijzigd op 26/09/2014 10:17:08 door Richard v B