RewriteRule
Ik ben aan het testen met htaccess maar het lukt mij niet om een ReWrite te doen.
Wat doe ik fout ?
Code (php)
1
2
3
4
5
2
3
4
5
RewriteEngine On
RewriteRule ^testing/?$ /index.php [L]
RewriteRule ^testing/(.*) index.php?pages=$1 [L]
Errordocument 404 http://localhost/testing/error/404.html
RewriteRule ^testing/?$ /index.php [L]
RewriteRule ^testing/(.*) index.php?pages=$1 [L]
Errordocument 404 http://localhost/testing/error/404.html
Grz nick
Dit werkt ook niet nu krijg ik dat het adres mogelijk veroudert is of verkeert getypt maar dat klopt niet de gegevens haal ik trouwens uit de DB miss is dat belangrijk om te weten
Gr
Welke url roep jij dan aan om dit te testen?
http://localhost/testing/index.php alleen zodra ik op een link klink moet het dus dit worden
http://localhost/test/index/naamvanpagina
Toevoeging op 27/01/2013 14:55:49:
ooh laatste is foutje moet zijn http://localhost/testing/index/naamvanpagina
http://localhost/test/index/naamvanpagina
Toevoeging op 27/01/2013 14:55:49:
ooh laatste is foutje moet zijn http://localhost/testing/index/naamvanpagina
http://localhost/testing/index/naamvanpagina
Dit verzoek wordt doorgestuurd naar jouw index.php pagina.
Op je index.php pagina zet je (tijdelijk)
Dan zie je als het goed is het stuk achter /testing/ staan.
http://localhost/testing/index.php?pages=home maaar dit moet ie dus rewrite naar http://localhost/testing/index/home
Toevoeging op 27/01/2013 15:05:32:
en als ik het typ wat je indd zegt, dan krijg ik dit pagina kan niet gevonden worden of adres is mogelijk veroudert
jaa dan krijg ik dit Toevoeging op 27/01/2013 15:05:32:
en als ik het typ wat je indd zegt, dan krijg ik dit pagina kan niet gevonden worden of adres is mogelijk veroudert
Gewijzigd op 27/01/2013 15:06:23 door nick van der heijden
Nick, je begrijpt mod_rewrite verkeerd. Het is niet als ik naar index.php?pages=home ga wordt ik doorgestuurd naar index/home, het is als ik naar index/home ga krijgt ik de index.php?pages=home te zien.
RewriteRule ^testing/(.*) /index.php?pages=$1 [QSA,l] dan kan ik toch gewoon zo aan roepen
kijk dit doe ik
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
mysql_connect("localhost","root","ww");
mysql_select_db("test");
$query="SELECT id,pages,info FROM pages WHERE pages='".mysql_real_escape_string($_GET['pages'])."'";
$sql=mysql_query($query);
while($row = mysql_fetch_array($sql)){
?>
<div id="info"><?php echo nl2br($row['info']); ?></div>
<?php
}
$query2="SELECT pages FROM pages ORDER by id ASC";
$sql2=mysql_query($query2);
while($rij = mysql_fetch_array($sql2)){
echo "<a href=\"testing/index/".$rij['pages']."\">".$rij['pages']."</a>\n";
}
?>
mysql_connect("localhost","root","ww");
mysql_select_db("test");
$query="SELECT id,pages,info FROM pages WHERE pages='".mysql_real_escape_string($_GET['pages'])."'";
$sql=mysql_query($query);
while($row = mysql_fetch_array($sql)){
?>
<div id="info"><?php echo nl2br($row['info']); ?></div>
<?php
}
$query2="SELECT pages FROM pages ORDER by id ASC";
$sql2=mysql_query($query2);
while($rij = mysql_fetch_array($sql2)){
echo "<a href=\"testing/index/".$rij['pages']."\">".$rij['pages']."</a>\n";
}
?>
dan zal rewrite hem toch zo moeten laten zien
http://localhost/testing/index/home
toch
Het principe is:
Als ik deze URL intyp:
http://localhost/testing/index/home
Stuur deze dan intern door naar
index.php (die in jouw document root staat, meestal "public_html", "htdocs" of "www")
In index.php kun je in jouw geval dan via $_GET['pages'] de aangeroepen URL achterhalen.
Snap je dit?
dus
http://localhost//testing/index.php?pages=home
kan ik niet rewrite naar
http://localhost/testing/index/home
?
Jij gebruikt dus voortaan dit soort links:
http://localhost/testing/index/home
En via een rewrite rule stuur je die door naar index.php
Beetje duidelijk nu?
dit ziet er niet uit toch
http://testing/index.php?pages=home
moet toch wel kunnen dit
http://testing/index/home
of http://testing/home of zo iets
lijkt me dat dit wel kan maarja
laat maar zitten xD
Toevoeging op 27/01/2013 15:55:12:
net als dit
http://www.phphulp.nl/php/forum/topic/rewriterule/88877/last/
zien jullie ergens ?pages=blablabla nee toch deze url word toch ook gerewrite of niet dan
Nick van der heijden op 27/01/2013 15:52:46:
En daarom gebruik je dus http://localhost/testing/index/home
Je typt dit http://localhost/testing/index/home dus in je browser, en in je browserbalk staat dus dit http://localhost/testing/index/home
INTERN leid je deze URL http://localhost/testing/index/home door naar je index.php bestand.
Nu wel duidelijk?
jaaa dat snap ik alleen dat doet ie niet ik snap wel hoe het werkt enzo
Nou ja, uit je voorgaande bericht leek toch of je het niet snapte.
laat maar man deze shit schiet niet op
Leg dan eens uit waar je nu op vast loopt in plaats van dat je gefrustreerd gaat lopen doen. Daar schiet je echt helemaal niks mee op.
geef maar is een voorbeeld dan hoe je seo url kan maken zonder
index.php?pages=home
maar zo
index/blabla
of een andere manier ook prima
Code (php)
1
2
3
4
5
2
3
4
5
RewriteEngine On
RewriteRule ^testing/index/?$ /index.php [L]
RewriteRule ^testing/index/(.*) index.php?pages=$1 [L]
Errordocument 404 http://localhost/testing/error/404.html
RewriteRule ^testing/index/?$ /index.php [L]
RewriteRule ^testing/index/(.*) index.php?pages=$1 [L]
Errordocument 404 http://localhost/testing/error/404.html
Dit wordt dan www.website.nl/testing/index/home > www.website.nl/index.php?pages=home
De htaccess zet je dan in de root.
Wat ook kan is:
Code (php)
1
2
3
4
5
2
3
4
5
RewriteEngine On
RewriteRule ^testing/(.*)?$ /$1.php [L]
RewriteRule ^testing/(.*)/(.*) $1.php?pages=$2 [L]
Errordocument 404 http://localhost/testing/error/404.html
RewriteRule ^testing/(.*)?$ /$1.php [L]
RewriteRule ^testing/(.*)/(.*) $1.php?pages=$2 [L]
Errordocument 404 http://localhost/testing/error/404.html
Dan kan je ook zo doen voor bijv. je error pagina (wat niet aan te raden is):
Dan wordt dan www.website.nl/testing/index/home > www.website.nl/index.php?pages=home
En dan wordt www.website.nl/testing/error/404 > www.website.nl/error.php?pages=404
Gewijzigd op 27/01/2013 16:27:45 door Nick Dijkstra
dan maar anders doen