Archief - Rewrite Rule (.htaccess)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sirax

Legacy Member
Hey,

Ik heb een klein vraagje, ik heb een website gemaakt met php navigatie zoals hieronder:

Code:
<?php
include_once"functions.php"; // security
$paginas = array('home','producten','diensten','specialisatie','contact','login/index.php');
$pagina = isset($_GET['p']) ? $_GET['p'] : "home";
$pagina = in_array($pagina,$paginas) ? $pagina : "home";
?>

<div id="navigation"><!--NAVIGATION STARTS-->
  <ul>
    <li><a href="?p=home" <?=$pagina=="home" ? "class='active'" : NULL?>>home</a></li>
    <li><a href="?p=producten" <?=$pagina=="producten" ? "class='active'" : NULL?>>producten</a></li>
    <li><a href="?p=diensten" <?=$pagina=="diensten" ? "class='active'" : NULL?>>diensten</a></li>
    <li><a href="?p=specialisatie" <?=$pagina=="specialisatie" ? "class='active'" : NULL?>>specialisatie</a></li>
    <li><a href="?p=contact" <?=$pagina=="contact" ? "class='active'" : NULL?>>contact</a></li>
    <li><a href="login/?p=index" <?=$pagina=="index" ? "class='active'" : NULL?>>login</a></li>
    <li><a href="#" style="width:2px;cursor:default"></a></li>
  </ul>
</div><!--NAVIGATION ENDS-->

<div id="container"><!--CONTAINER STARTS-->

<?php
include_once"pages/".$pagina.".php";
?>

Maar als ik nu dit gebruik, komt de link in de adresbalk als volg te staan:

http://www.****.be/?p=specialisatie of http://www.****.be/?p=producten&product=versterktesluitplaten

Maar ik zou de link in de adresbalk liever zo willen zien staan:

http://www.****.be/specialisatie/ of http://www.****.be/producten/versterktesluitplaten/

Dat oogt wel mooier dan die ?p= dingen.
Ik weet dat het met .htaccess moet via een rewriterule, maar ik heb hier absoluuut geen ervaring mee.

Kan iemand me hierbij helpen aub?

Groetjes,

Sick-Boy

Legacy Member
Dat kan je ofwel via Mod Rewrite ofwel via Multiviews laten gebeuren.

Sirax

Legacy Member
Kan je mij hierbij helpen?
Want ik weet wel via wat het moet gaan, maar ik zou niet juist weten hoe...
Wat ik juist in de script moet schrijven, voor mijn situatie.

Als ik op google zoek, dan kom ik dit wel tegen maar voor totaal andere dingen.

adrianhates

Legacy Member
ge moet beginnen met uw php shorttags te dumpen :) da is bad practice..

grappig daarbij is wel dat ge shorthand method gebruikt voor ifs :p ( wa wel goe is )

onderstaande snippet kan al hulp bieden:

Dit in .htaccess
Code:
# homedir
RewriteBase /demapwaaruwwebsitestaat

# rewrite engine op zetten
RewriteEngine On

# rewrite voor plugin en action
RewriteRule ^([-A-Za-z0-9]+)/([-A-Za-z0-9]+)/$ $1/$2 [R]
RewriteRule ^([-A-Za-z0-9]+)/([-A-Za-z0-9]+)$ index.php?plugin=$1&action=$2 [L]

# rewrite voor plugin
RewriteRule ^([-A-Za-z0-9]+)/$ $1 [R]
RewriteRule ^([-A-Za-z0-9]+)$ index.php?plugin=$1 [L]

Je moet het beschouwen als een fallback systeem.

indien er geen action wordt gevonden gaat em naar de onderste 2 regels..

Sirax

Legacy Member
Dat script van uzou moeten werken als ik het zo plaats in htaccess file?
Of moet er toch nog iets veranderen of bijgevoegd worden?

adrianhates

Legacy Member
Idd dat zou moeten werken.

een beetje gezond verstand zal u vertellen dat ge het nog moet aanpassen naar uw nood. Ik ga u niet een kant en klare oplossing maken want anders zou ik evengoed een offerte en factuur kunnen sturen he?

je moet natuurlijk de $_GET parameters aanpassen in de snippet naar de respectievelijke $_GET parameters in je website. En uiteraard dan ook de cleane urls gebruiken in je website.

Sick-Boy

Legacy Member
Sirax zei:
Kan je mij hierbij helpen?
Want ik weet wel via wat het moet gaan, maar ik zou niet juist weten hoe...
Wat ik juist in de script moet schrijven, voor mijn situatie.

Als ik op google zoek, dan kom ik dit wel tegen maar voor totaal andere dingen.

PHP Scripts en Tutorials - Mod Rewrite - Inleiding

Een stap voor stap tutorial over hoe je rewrite rules zelf kan opstellen en de betekenis van tags/keywords.

Sirax

Legacy Member
Oke, bedankt voor de handig tips en links.

Ik zal er eens naar kijken en hopelijk wordt ik er zo ook wat wijzen van :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan