Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

.htaccess mod_rewrite vraagje

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb me rotgezocht, maar het is niet makkelijk om een antwoord te vinden op deze specifieke vraag.

Ik heb een eenvoudige .htaccess bestand met het volgende mod_rewrite code:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9\-]+)/$ index.php?page=$1


In deze directory (public_html) zit een map genaamd "wordpress".
Als je www.domeinnaam.nl/portfolio intypt krijg je dus index.php?page=portfolio. Als je www.domeinnaam.nl/wordpress intypt, zou je dus index.php?page=wordpress moeten krijgen, in plaats daarvan echter opent hij de directory "wordpress".

Het lijkt erop dat apache eerst kijkt of de directory bestaat, zo niet, dan pas leest hij de mod_rewrite rules. Heeft mod_rewrite dus zo'n automatische mechanisme, en zo ja: hoe zet je dit uit?

  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 15:38
code:
1
RewriteCond %{REQUEST_FILENAME} !-d


http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

  • Donderpoes
  • Registratie: April 2011
  • Laatst online: 11-05 23:09
code:
1
2
RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9\-]+)/$ index.php?page=$1


Kan je samenvoegen in

code:
1
RewriteRule ^([a-zA-Z0-9\-]+)/?$ index.php?page=$1


De ? zegt dat / optioneel is.

Staat er in je wordpress directory ook een .htaccess?

[ Voor 10% gewijzigd door Donderpoes op 23-09-2013 12:20 ]


Verwijderd

Topicstarter
@Rooot: Ik kom gewoonweg niet wijs uit die hele pagina
@Donderpoes: Da's goed om te weten!

Ik vind het prima zoals het nu werkt. Als ik domeinnaam.nl/wordpress intyp, wil ik ook dat hij dit letterlijk neemt en de map opent.

Het gaat er mij om dat ik beter wil begrijpen hoe deze hele functie werkt en dus waarom hij de map "wordpress" opent ipv dat hij het herschrijft naar index.php?page=wordpress.

  • Donderpoes
  • Registratie: April 2011
  • Laatst online: 11-05 23:09
Met de regel die rooot heeft opgegeven voer je eerst een check uit, is de gevraagde url een directory? Zo nee, url herschrijven. Dit kan je ook voor bestanden doen:
code:
1
RewriteCond %{REQUEST_FILENAME} !-f


Waarschijnlijk zal jouw apache geconfigureerd zijn om directories en waarschijnlijk bestanden niet te herschrijven.

Wat ook zou kunnen is dat je in je wordpress directory een .htacces hebt staan welke ervoor zorgt dat het pad /wordpress niet herschreven wordt.
Als je een nieuwe directory aanmaakt, zonder inhoud, wordt deze dan ook niet herschreven?

Verwijderd

Topicstarter
Ik heb het even getest met een lege directory. Deze wordt inderdaad wel herschreven. Nu weet ik dus waar het door komt. Heren ik dank jullie.
Pagina: 1