Mod_rewrite vriendelijke URL adressen 
Uitleg over vriendelijke URL adressen (mod rewrite / multiviews). Krijg i.p.v. http://www.phphulp.nl/script.php?cat=3&id=25&pid=424 vriendelijke http://www.phphulp.nl/script/3/25/424/ URL adressen.
Gesponsorde koppelingen
Inhoudsopgave
136 reacties op 'Mod_rewrite vriendelijke URL adressen'
Gesponsorde koppelingen
Raar ik krijg het niet werkend. Als ik http://www.mol-clan.nl/link doe. Met dit als .htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*) index.php?page=$1 [NC,L]
ErrorDocument 404 http://schipbreukeling.mol-clan.nl/404
ErrorDocument 403 /error.php?page=403
ErrorDocument 401 /error.php?page=401
ErrorDocument 500 /error.php?page=500
krijg ik mijn "404" pagina. Ik heb even voor de gein.
echo $page gedaan en dan krijg ik index.php te zien.
Weet iemand wat ik fout doe of kan bas zijn .htacces even voor de gein posten?
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*) index.php?page=$1 [NC,L]
ErrorDocument 404 http://schipbreukeling.mol-clan.nl/404
ErrorDocument 403 /error.php?page=403
ErrorDocument 401 /error.php?page=401
ErrorDocument 500 /error.php?page=500
krijg ik mijn "404" pagina. Ik heb even voor de gein.
echo $page gedaan en dan krijg ik index.php te zien.
Weet iemand wat ik fout doe of kan bas zijn .htacces even voor de gein posten?
Forbidden
You don't have permission to access /fauvee/scouts/upload/upload.php on this server.
betekent dat dat die mod_rewrite niet opstaat; dit is mijn file (om te testen):
RewriteEngine On
RewriteRule ^fauvee/scouts/upload/upload/(.*)/ /fauvee/scouts/upload/upload.php?func=$1
RewriteRule ^fauvee/scouts/upload/upload/(.*) /fauvee/scouts/upload/upload.php?func=$1
You don't have permission to access /fauvee/scouts/upload/upload.php on this server.
betekent dat dat die mod_rewrite niet opstaat; dit is mijn file (om te testen):
RewriteEngine On
RewriteRule ^fauvee/scouts/upload/upload/(.*)/ /fauvee/scouts/upload/upload.php?func=$1
RewriteRule ^fauvee/scouts/upload/upload/(.*) /fauvee/scouts/upload/upload.php?func=$1
Hoe roep je je URL adres aan en werkt het wel als: http://www.joudomein.nl/favee/scouts/upload/upload.php?func=iets ??
http://members.lycos.nl/fauvee/scouts/upload/upload.php?func=iets
zo werkt het (als de mod_rewrite niet in htaccess zit); als ik het het wel bestaat kom ik op een 40. error denk ik (forbidden)
als ik de url intyp met /upload/iets dan werkt hij ook niet zelfde fout
...
zo werkt het (als de mod_rewrite niet in htaccess zit); als ik het het wel bestaat kom ik op een 40. error denk ik (forbidden)
als ik de url intyp met /upload/iets dan werkt hij ook niet zelfde fout
...
@ vewee, dat forbitten gebeure komt niet door de mod_rewrite. Check de paths naar je bestanden.. Meestal krijg je een forbitten door een map aan te roepen waar geen index bestand in staat.. Nogmaals, hoe roep je de URL adres aan (volledig) met mod_rewrite? :)
@Mitch, die kun je aanroepen via $_GET ja.
@Mitch, die kun je aanroepen via $_GET ja.
Ja oke maar waar moet de .htaccess plaatsen?
Kijk ik heb nu dit:
foto.php die staat in de map fotos
En dit is me .htaccess file die staat ook in de fotos map
RewriteEngine On
RewriteRule ^fotos/foto/(.*)/ fotos/foto.php?actie=$actie
Kijk ik heb nu dit:
foto.php die staat in de map fotos
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
if(isset($_GET['actie']) && $_GET['actie'] == "mijzelf")
{
echo "?kkeeee";
}
elseif(isset($_GET['actie']) && $_GET['actie'] == "vrienden")
{
echo "Vrieden";
}
elseif(isset($_GET['actie']) && $_GET['actie'] == "vriendinnen")
{
echo "dit zijn de vriendinnen";
}
else {
echo "Dit is dan het foto boek van RobbyTown. Hier kun je foto's van Robby vinden. En ook van zijn vrienden en vriendinnen. Ik zou zeggen veel kijk plezier.<br /><br />
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td><b>Categorie</b></td>
<td><b>Aantal foto's</b></td>
</tr>
<tr>
<td><a href=$site_url?pagina=fotos&actie=mijzelf>Mijn zelf</a></td>
<td>0</td>
</tr>
<tr>
<td><a href=$site_url?pagina=fotos&actie=vrienden>Vrienden</a></td>
<td>0</td>
</tr>
<tr>
<td><a href=$site_url?pagina=fotos&actie=vriendinnen>Vriendinnen</a></td>
<td>0</td>
</tr>
</table>";
}
?>
if(isset($_GET['actie']) && $_GET['actie'] == "mijzelf")
{
echo "?kkeeee";
}
elseif(isset($_GET['actie']) && $_GET['actie'] == "vrienden")
{
echo "Vrieden";
}
elseif(isset($_GET['actie']) && $_GET['actie'] == "vriendinnen")
{
echo "dit zijn de vriendinnen";
}
else {
echo "Dit is dan het foto boek van RobbyTown. Hier kun je foto's van Robby vinden. En ook van zijn vrienden en vriendinnen. Ik zou zeggen veel kijk plezier.<br /><br />
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td><b>Categorie</b></td>
<td><b>Aantal foto's</b></td>
</tr>
<tr>
<td><a href=$site_url?pagina=fotos&actie=mijzelf>Mijn zelf</a></td>
<td>0</td>
</tr>
<tr>
<td><a href=$site_url?pagina=fotos&actie=vrienden>Vrienden</a></td>
<td>0</td>
</tr>
<tr>
<td><a href=$site_url?pagina=fotos&actie=vriendinnen>Vriendinnen</a></td>
<td>0</td>
</tr>
</table>";
}
?>
En dit is me .htaccess file die staat ook in de fotos map
RewriteEngine On
RewriteRule ^fotos/foto/(.*)/ fotos/foto.php?actie=$actie
bas:
RewriteEngine On
RewriteRule ^fauvee/scouts/upload/upload/(.*)/ /fauvee/scouts/upload/upload.php?func=$1
RewriteRule ^fauvee/scouts/upload/upload/(.*) /fauvee/scouts/upload/upload.php?func=$1
zo zou mijn htacces er moeten uitzien, ik heb geen chmod op de map nog op het bestand gezet... (wat zou dan een andere reden zijn voor een forbidden)
is er iets mis met hoe ik mijn site oproep via mod rewrite ofwat?
volledige url = http://members.lycos.nl/fauvee/scouts/upload/upload.php?func=iets
met rod rewrite (normaal gezien):
http://members.lycos.nl/fauvee/scouts/upload/upload/iets
(heb nu wel ff htaccess weggedaan omdat alle paginas forbidden werden)
mijn pagina met phpinfo waar ik geen apache onderdeel vind:
http://members.lycos.nl/fauvee/info.php
kan het zijn dat lycos dit niet onderstuent en daardoor de fout doorgeeft?
RewriteEngine On
RewriteRule ^fauvee/scouts/upload/upload/(.*)/ /fauvee/scouts/upload/upload.php?func=$1
RewriteRule ^fauvee/scouts/upload/upload/(.*) /fauvee/scouts/upload/upload.php?func=$1
zo zou mijn htacces er moeten uitzien, ik heb geen chmod op de map nog op het bestand gezet... (wat zou dan een andere reden zijn voor een forbidden)
is er iets mis met hoe ik mijn site oproep via mod rewrite ofwat?
volledige url = http://members.lycos.nl/fauvee/scouts/upload/upload.php?func=iets
met rod rewrite (normaal gezien):
http://members.lycos.nl/fauvee/scouts/upload/upload/iets
(heb nu wel ff htaccess weggedaan omdat alle paginas forbidden werden)
mijn pagina met phpinfo waar ik geen apache onderdeel vind:
http://members.lycos.nl/fauvee/info.php
kan het zijn dat lycos dit niet onderstuent en daardoor de fout doorgeeft?
Ik ben maar ven lid geworden.
Nu heb ik de .htaccess file in de root directory gezet.
Verder he ik niets aan de file gedaan
foto.php
heb ik wel wat aangepast
<a href=$site_url?pagina=fotos&actie=mijzelf>Mijn zelf</a>
heb ik naar dit gemaakt
<a href=/fotos/foto/mijzelf/>Mijn zelf</a>
klik ik erop kom ik nog op een dode pagina uit
Nu heb ik de .htaccess file in de root directory gezet.
Verder he ik niets aan de file gedaan
foto.php
heb ik wel wat aangepast
<a href=$site_url?pagina=fotos&actie=mijzelf>Mijn zelf</a>
heb ik naar dit gemaakt
<a href=/fotos/foto/mijzelf/>Mijn zelf</a>
klik ik erop kom ik nog op een dode pagina uit
je moet ff goed lezen wat ik hier boven heb geschreven...
RewriteRule ^scouts/upload/upload/(.*)/ scouts/upload/upload.php?func=$1
RewriteRule ^scouts/upload/upload/(.*) scouts/upload/upload.php?func=$1
.htaccess file in je ROOT DIRECTORY dit is dus de map fauvee waar je waarschijnlijk meteen in zit als je naar ftp connect,
URL adressen nu dus verwijzen naar: scouts/fotos/foto/mijzelf/
RewriteRule ^scouts/upload/upload/(.*)/ scouts/upload/upload.php?func=$1
RewriteRule ^scouts/upload/upload/(.*) scouts/upload/upload.php?func=$1
.htaccess file in je ROOT DIRECTORY dit is dus de map fauvee waar je waarschijnlijk meteen in zit als je naar ftp connect,
URL adressen nu dus verwijzen naar: scouts/fotos/foto/mijzelf/
nope, krijg nog altijd verboden gedoe, ik denk dat mod rewrite niet opstaat bij lycos ofzo..
robbie-->
<a href=$site_url?pagina=fotos&actie=mijzelf>Mijn zelf</a>
heb ik naar dit gemaakt
<a href=/fotos/foto/mijzelf/>Mijn zelf</a>
maak van die laatste link eens:
$site_url/fotos/mijzelf/ als ik da tutorial goed begrijp zou dit moeten werken denk ik :s
robbie-->
<a href=$site_url?pagina=fotos&actie=mijzelf>Mijn zelf</a>
heb ik naar dit gemaakt
<a href=/fotos/foto/mijzelf/>Mijn zelf</a>
maak van die laatste link eens:
$site_url/fotos/mijzelf/ als ik da tutorial goed begrijp zou dit moeten werken denk ik :s
.htaccess bestand is fout, beter tutorial lezen:
RewriteEngine On
RewriteRule ^fotos/foto/(.*)/ fotos/foto.php?actie=$actie moet zijn
RewriteEngine On
RewriteRule ^fotos/foto/(.*)/ fotos/foto.php?actie=$1
RewriteEngine On
RewriteRule ^fotos/foto/(.*)/ fotos/foto.php?actie=$actie moet zijn
RewriteEngine On
RewriteRule ^fotos/foto/(.*)/ fotos/foto.php?actie=$1
Edit:
PS: tijd van de post staat erbij omdat ik via nieuwe website berichten post dus niet denken dat het een bug is :)
ik heb dit in mijn .htaccess
RewriteEngine On
RewriteRule ^i-girls/(.*)/ i-girls/profiel.php?p=$1
RewriteRule ^i-girls/(.*) i-girls/profiel.php?p=$1
als ik nu $_GET['p']; doe krijg ik "profiel.php"
doe ik het lijntje "RewriteRule ^i-girls/(.*) i-girls/profiel.php?p=$1" weg dan werkt het wel.. het ligt dus aan die / die er niet staat :) weet je soms hoe ik dat kan oplossen?
RewriteEngine On
RewriteRule ^i-girls/(.*)/ i-girls/profiel.php?p=$1
RewriteRule ^i-girls/(.*) i-girls/profiel.php?p=$1
als ik nu $_GET['p']; doe krijg ik "profiel.php"
doe ik het lijntje "RewriteRule ^i-girls/(.*) i-girls/profiel.php?p=$1" weg dan werkt het wel.. het ligt dus aan die / die er niet staat :) weet je soms hoe ik dat kan oplossen?
Ok, ik heb dit (MOD_REWRITE is geinstalleerd!)
RewriteEngine On
RewriteRule ^test/(.*)/(.*)/ test.php?test1=$1&test2=$2
RewriteRule ^test/(.*)/(.*) test.php?test1=$1&test2=$2
en in test.php dit:
maar op de een of andere manier, krijg ik geen $1 en $2 door ($test1 en $test2) en de pagina ziet er ook gewoon zo uit:
'' '' '' ''
iemand enig idee wat ik fout doe?
RewriteEngine On
RewriteRule ^test/(.*)/(.*)/ test.php?test1=$1&test2=$2
RewriteRule ^test/(.*)/(.*) test.php?test1=$1&test2=$2
en in test.php dit:
Code (php)
1
2
3
4
5
2
3
4
5
<?
$test3 = $_GET['test1'];
$test4 = $_GET['test2'];
echo "<b>'$test1' '$test2' '$test3' '$test4'</b>";
?>
$test3 = $_GET['test1'];
$test4 = $_GET['test2'];
echo "<b>'$test1' '$test2' '$test3' '$test4'</b>";
?>
maar op de een of andere manier, krijg ik geen $1 en $2 door ($test1 en $test2) en de pagina ziet er ook gewoon zo uit:
'' '' '' ''
iemand enig idee wat ik fout doe?
raar.. zou moeten werken.. .htaccess bestand in je root staan en hem .htaccess genoemd ipv htaccess zonder punt ervoor??
En je roept je domein wel aan via: http://www.joudomein.nl/test/1/2/ ??
En je roept je domein wel aan via: http://www.joudomein.nl/test/1/2/ ??
Ik zit nog steeds met een probleem
Mijn .htaccess code:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]*)/([a-zA-Z0-9_]*)$ index.php?page=$1&start=$2 [NC,L]
RewriteRule ^([a-zA-Z0-9_]*)$ index.php?page=$1 [NC,L]
ErrorDocument 404 http://www.schipbreukeling.nl/404
ErrorDocument 403 /error.php?page=403
ErrorDocument 401 /error.php?page=401
ErrorDocument 500 /error.php?page=500
IndexIgnore *
En op zich werkt het wel. Alleen dan krijg ik een probleem met de links naar mijn bestanden op de server.
Dus de stylesheets enz....
Voorbeeld http://www.schipbreukeling.nl/photo/2
Weet iemand wat ik fout doe?
Mijn .htaccess code:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]*)/([a-zA-Z0-9_]*)$ index.php?page=$1&start=$2 [NC,L]
RewriteRule ^([a-zA-Z0-9_]*)$ index.php?page=$1 [NC,L]
ErrorDocument 404 http://www.schipbreukeling.nl/404
ErrorDocument 403 /error.php?page=403
ErrorDocument 401 /error.php?page=401
ErrorDocument 500 /error.php?page=500
IndexIgnore *
En op zich werkt het wel. Alleen dan krijg ik een probleem met de links naar mijn bestanden op de server.
Dus de stylesheets enz....
Voorbeeld http://www.schipbreukeling.nl/photo/2
Weet iemand wat ik fout doe?
Ja:
http://www.leidsereddingsbrigade.nl/test/1/2
het rare is dat je wel naar de site test.php gaat, maar dat $1 en $2 niet worden meegezonden :S
http://www.leidsereddingsbrigade.nl/test/1/2
het rare is dat je wel naar de site test.php gaat, maar dat $1 en $2 niet worden meegezonden :S
Sorry, nog een vraagje:
Kan ik met de mod rewrite methode een directory onzichtbaar maken?
Bvb: ik heb http://www.mijnsite.com/nl/artikels.htm?id=5
Veranderen in:
http://www.mijnsite.com/artikels/5/
Dus de nl weg laten?
Kan ik met de mod rewrite methode een directory onzichtbaar maken?
Bvb: ik heb http://www.mijnsite.com/nl/artikels.htm?id=5
Veranderen in:
http://www.mijnsite.com/artikels/5/
Dus de nl weg laten?
nee vlgns mij kan dat niet .. je kunt wel iets doen zoals dit:
RewriteRule ^nieuws/ index.php
zoiets gebruik ik ook op PHPhulp, dan zeg je van, nieuws/ moet naar index.php gaan.. wat je kunt proberen is dit:
RewriteRule ^artikels/(.*)/ nl/artikels/index.php?id=$1
RewriteRule ^artikels/(.*) nl/artikels/index.php?id=$1
Ik heb het niet getest dus weet niet of het werkt, maar je kunt het proberen.. :)
RewriteRule ^nieuws/ index.php
zoiets gebruik ik ook op PHPhulp, dan zeg je van, nieuws/ moet naar index.php gaan.. wat je kunt proberen is dit:
RewriteRule ^artikels/(.*)/ nl/artikels/index.php?id=$1
RewriteRule ^artikels/(.*) nl/artikels/index.php?id=$1
Ik heb het niet getest dus weet niet of het werkt, maar je kunt het proberen.. :)
Ik wil het volgende:
http://www.domein.nl/?p=p&id=1
Omzetten in:
http://www.domein.nl/1
Hoe doe ik dit dan??
http://www.domein.nl/?p=p&id=1
Omzetten in:
http://www.domein.nl/1
Hoe doe ik dit dan??
Voor diegene die willen weten hoe je mod_rewrite kunt activeren in de Windows versie van Apache moeten het volgende doen:
Open het bestand httpd.conf en scroll naar het modules gedeelte.
Ga op zoek naar de volgende regel:
#LoadModule rewrite_module modules/mod_rewrite.so
Aan de # kun je zien dat deze module is uitgeschakeld. Verwijder het hekje (#) om de module te activeren. Als je dat gedaan hebt, herstart je de Apache server om de verandering toe te passen.
Open het bestand httpd.conf en scroll naar het modules gedeelte.
Ga op zoek naar de volgende regel:
#LoadModule rewrite_module modules/mod_rewrite.so
Aan de # kun je zien dat deze module is uitgeschakeld. Verwijder het hekje (#) om de module te activeren. Als je dat gedaan hebt, herstart je de Apache server om de verandering toe te passen.
Hey ik heb ook een probleemje met .htaccess
Ik probeer dus idd mod-rewrite te gebruiken maar als ik dan een url aanroep (http://www.justah.nl/index/list/ ) krijg ik mijn normale index te zien zonder CSS opmaak(GEEN 404).
.htaccess :
RewriteEngine On
RewriteRule ^index/(.*)/(.*)/ index.php?x=$1&id=$2
RewriteRule ^index/(.*)/ index.php?x=$1
Ik probeer dus idd mod-rewrite te gebruiken maar als ik dan een url aanroep (http://www.justah.nl/index/list/ ) krijg ik mijn normale index te zien zonder CSS opmaak(GEEN 404).
.htaccess :
RewriteEngine On
RewriteRule ^index/(.*)/(.*)/ index.php?x=$1&id=$2
RewriteRule ^index/(.*)/ index.php?x=$1
Dit komt omdat je de bestanden niet van uit de root op vraagt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Als jij in je css file linkt naar file.css
Dan wordt het voor de browser
http://ww.mijndomein.nl/index/lafefe/file.css
enz..
Dan wordt het voor de browser
http://ww.mijndomein.nl/index/lafefe/file.css
enz..
Ok?... hier even een linkje voor nog een troubleshoot op dit onderwerp... Heeft mij veel tijd gekost.. :)
Elwin
Elwin
Prob!!....
Het werkt prima.. Heb het in een bestaand script geplaatst.. Ik moet echter nu wel voor mijn img's de volledige url aangeven...
normaal= src=\"img/header.jpg\"
word in browser gezien als http://domein.nl/img/header.jpg
Met de mod_rewrite voorbeeld http://domein.nl/nieuws/1/
word de img http://domein.nl/nieuws/1/img/header.jpg
Moet ik in de img tagz volledige url blijven aanhouden? of is er een andere oplossing?
Het werkt prima.. Heb het in een bestaand script geplaatst.. Ik moet echter nu wel voor mijn img's de volledige url aangeven...
normaal= src=\"img/header.jpg\"
word in browser gezien als http://domein.nl/img/header.jpg
Met de mod_rewrite voorbeeld http://domein.nl/nieuws/1/
word de img http://domein.nl/nieuws/1/img/header.jpg
Moet ik in de img tagz volledige url blijven aanhouden? of is er een andere oplossing?
Ik krijg het op mijn website niet werkend.
Krijg de 404 not found melding.
Dit staat er in mijn htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^pages-(.+)\.html index.php/pages-$1 [L]
Mijn htaccess file staat in: /WWW/www.damcomputers.nl/htdocs/
Als ik mijn webwinkel www.damcomputers.nl oproep gaat dit wel goed, maar zodra ik een product aanklik krijg ik de foutmelding.
PLEASE HELP
Krijg de 404 not found melding.
Dit staat er in mijn htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^pages-(.+)\.html index.php/pages-$1 [L]
Mijn htaccess file staat in: /WWW/www.damcomputers.nl/htdocs/
Als ik mijn webwinkel www.damcomputers.nl oproep gaat dit wel goed, maar zodra ik een product aanklik krijg ik de foutmelding.
PLEASE HELP
RewriteEngine On
RewriteRule ^(.*)/(.*)/ profiel.php?naam=$1&actie=$2
RewriteRule ^(.*)/(.*) profiel.php?naam=$1&actie=$2
RewriteRule ^(.*)/ profiel.php?naam=$1
RewriteRule ^(.*) profiel.php?naam=$1
Zo ziet mijn htaccess file eruit.
Ze staat online in de subdir members. De bedoeling is dat hij bij members.verkom.be/dries eigelijk members.verkom.be/profiel.php?naam=dries toont, maar dat doet hij niet. Maar als ik deze in de www-dir plaats, dan doet hij dat misschien ook bij mijn gewone website, en dat mag niet.
Deze error krijg ik:
----
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@pcextreme.nl and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
----
Mod_rewrite is zeker geinstalleerd.
RewriteRule ^(.*)/(.*)/ profiel.php?naam=$1&actie=$2
RewriteRule ^(.*)/(.*) profiel.php?naam=$1&actie=$2
RewriteRule ^(.*)/ profiel.php?naam=$1
RewriteRule ^(.*) profiel.php?naam=$1
Zo ziet mijn htaccess file eruit.
Ze staat online in de subdir members. De bedoeling is dat hij bij members.verkom.be/dries eigelijk members.verkom.be/profiel.php?naam=dries toont, maar dat doet hij niet. Maar als ik deze in de www-dir plaats, dan doet hij dat misschien ook bij mijn gewone website, en dat mag niet.
Deze error krijg ik:
----
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@pcextreme.nl and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
----
Mod_rewrite is zeker geinstalleerd.
Misschien een tip voor de mensen die er nog wat moeite mee hebben:
Maak een directory met daarin en bestand genaamd: index.php
Voer deze code daarin... Heel handig om even uit te zoeken....
Maak een directory met daarin en bestand genaamd: index.php
Voer deze code daarin... Heel handig om even uit te zoeken....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
# EXPLANATION ReWriteRules.
#
# ^path/page/ $1 / $2 / $3 / $4 / <With(out) end-slash.
# If that page is called, this url/page is meant:
# path/page.ext?id=1&cat=$2&db=$3&table=$4
# Where $1, $2, $3 $4 are the vars in the URL.
#
# Keep in mind, the root of the page. Ex. /var/www/html/
# test/ * A map.
# index.php * A file
RewriteRule ^test/index/(.*)/(.*)/(.*)/(.*)/ test/index.php?id=$1&cat=$2&db=$3&table=$4
?>
# EXPLANATION ReWriteRules.
#
# ^path/page/ $1 / $2 / $3 / $4 / <With(out) end-slash.
# If that page is called, this url/page is meant:
# path/page.ext?id=1&cat=$2&db=$3&table=$4
# Where $1, $2, $3 $4 are the vars in the URL.
#
# Keep in mind, the root of the page. Ex. /var/www/html/
# test/ * A map.
# index.php * A file
RewriteRule ^test/index/(.*)/(.*)/(.*)/(.*)/ test/index.php?id=$1&cat=$2&db=$3&table=$4
?>
Deze tip word door Eris gegeven, om niet het volledige pad op de hoeven geven, naar bv, je paatjes in een submap.
als ik dat doe, dan werkt het nog steeds niet niet als ik dit doe:
http://edgar/ed/php/14/
en niet als ik dit doe:
http://edgar/ed/?page=php&id=14
dit staat in mijn .htaccess:
RewriteEngine On
RewriteRule ^php/(.*)/ index.php?page=php&id=$1
weet iemand wat ik fout doe?
Quote:
Nee je kan ook links relatief maken door de /er voor te plaatsen
img/header.jpg
wordt dan /img/header.jpg
img/header.jpg
wordt dan /img/header.jpg
als ik dat doe, dan werkt het nog steeds niet niet als ik dit doe:
http://edgar/ed/php/14/
en niet als ik dit doe:
http://edgar/ed/?page=php&id=14
dit staat in mijn .htaccess:
RewriteEngine On
RewriteRule ^php/(.*)/ index.php?page=php&id=$1
weet iemand wat ik fout doe?
Ik dacht dat de .htaccess files van boven naar beneden bekeken werden. En de eerste match gebruikt word? Als dat zo is kan ik namelijk op het einde een wildcard zetten. Dit werkt echter niet.... mijn voorbeeld:
als ik naar www.mijndomein.nl/user/ surf...
Kom ik op index.php?mod=inhoud&groep=user
En dat is dus NIET te bedoeling... Wie kan het zeggen?
als ik naar www.mijndomein.nl/user/ surf...
Kom ik op index.php?mod=inhoud&groep=user
En dat is dus NIET te bedoeling... Wie kan het zeggen?
Ik weet nou niet als ik het hier moet posten of een topic openen in de form, probeer het hier ff ;).
Mijn links zaten altijd zo in elkaar:
http://localhost/?page=home
nu heb ik het voor elkaar gekregen om home zo op te roepen:
http://localhost/home
met de mod_rewrite, maar deze werkt als ik het handmatig intype in de url balk.
dus mijn vraag:
Moet ik ook handmatig de links veranderen in m'n pagina zelf???
mijn .htacces file, moet ik daar wat in veranderen of moet het echt handmatig??
tnx ;D
Mijn links zaten altijd zo in elkaar:
http://localhost/?page=home
nu heb ik het voor elkaar gekregen om home zo op te roepen:
http://localhost/home
met de mod_rewrite, maar deze werkt als ik het handmatig intype in de url balk.
dus mijn vraag:
Moet ik ook handmatig de links veranderen in m'n pagina zelf???
mijn .htacces file, moet ik daar wat in veranderen of moet het echt handmatig??
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]*)$ index.php?page=$1 [NC,L]
?>
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]*)$ index.php?page=$1 [NC,L]
?>
tnx ;D
ik vind dit echt heel erg moeilijk...
ik probeer al super lang met mod-rewrite me profielen systeem te updaten de links naar de leden zien er nu alsvolgt uit:
http://www.website.nl/leden/lid.php?lid=lidnaam
ik wil dus dat het zo te bezoeken is:
http://www.website.nl/lidnaam
maar na 200 testjes is dit nog niet gelukt hoe moet ik dat nu in hemels naam doen?
ik probeer al super lang met mod-rewrite me profielen systeem te updaten de links naar de leden zien er nu alsvolgt uit:
http://www.website.nl/leden/lid.php?lid=lidnaam
ik wil dus dat het zo te bezoeken is:
http://www.website.nl/lidnaam
maar na 200 testjes is dit nog niet gelukt hoe moet ik dat nu in hemels naam doen?
Dat is bekent met mod_rewrite. Er zijn echt 9999999duizend topics over mod_rewrite maar blijft soms ingewikkeld als het niet wil werken. Vaak ligt het maar aan een kleine / ofzo. Ik heb ook heel lang zitten kloten terwijl het gewoon aan 1 slash lag terwijl alle tuts het zonder hebben en mijn server dus graag met wil.
Probeer het eens zo:
RewriteEngine on
RewriteRule ^([^.?/]+)/$ leden/lid.php?lid=$1
RewriteRule ^([^.?/]+)$ leden/lid.php?lid=$1
Werkt dit niet? Zet een / voor leden. Werkt dit niet? Zet Options -MultiViews boven RewritEngine on. Werkt dit niet? Nog meer manieren blijven proberen :P
Probeer het eens zo:
RewriteEngine on
RewriteRule ^([^.?/]+)/$ leden/lid.php?lid=$1
RewriteRule ^([^.?/]+)$ leden/lid.php?lid=$1
Werkt dit niet? Zet een / voor leden. Werkt dit niet? Zet Options -MultiViews boven RewritEngine on. Werkt dit niet? Nog meer manieren blijven proberen :P
Edit:
Ps: Mod_rewrite wel geinstalleerd? Dit kun je zien in je phpinfo (zie tutorial)
[/EDIT]
[/EDIT]
Ik heb even een praktisch vraagje over de mod_rewrite module
Ik heb het .htaccess bestand in mijn root folder staan. Het volgende staat er in:
Wanneer ik nu www.mijnsite.nl/logboek/1/ doe krijg ik mooi mijn profiel. Wanneer ik nu www.mijnsite.nl/1/ doe krijg ik de 404 error.
Best een beetje vreemd omdat hij het bij logboek wel doet en bij logboeken niet.
Ook vreemd dat hij het dus wel goed doet wanneer hij naar een submap verwezen wordt en dat terwijl dat niet in de rewriterule staat.
Wie kan hier duidelijkheid over geven?
Ik heb het .htaccess bestand in mijn root folder staan. Het volgende staat er in:
Quote:
RewriteEngine On
RewriteRule ^(.*)/ logboeken/persoonlijk_logboek.php?id=$1
RewriteRule ^(.*)/ logboeken/persoonlijk_logboek.php?id=$1
Wanneer ik nu www.mijnsite.nl/logboek/1/ doe krijg ik mooi mijn profiel. Wanneer ik nu www.mijnsite.nl/1/ doe krijg ik de 404 error.
Best een beetje vreemd omdat hij het bij logboek wel doet en bij logboeken niet.
Ook vreemd dat hij het dus wel goed doet wanneer hij naar een submap verwezen wordt en dat terwijl dat niet in de rewriterule staat.
Wie kan hier duidelijkheid over geven?
@PHP Newbie:
Wanneer ik er een slash voor zet is de totale layout van mijn pagina weg. Wanneer ik nu www.mijnsite.nl/logboek/1/ benader krijg ik foutmelding 500. Dit is dus niet de oplossing.
ik open wel even een topic!
Wanneer ik er een slash voor zet is de totale layout van mijn pagina weg. Wanneer ik nu www.mijnsite.nl/logboek/1/ benader krijg ik foutmelding 500. Dit is dus niet de oplossing.
ik open wel even een topic!
Nette uitleg heb er veel aan gehad bedankt man.
nu zit ik met de volgende 2 vragen
vraag 1:
Alleen mijn vraag hoe kan ik precies spelen dat ik ipv van mijn userid een username kan invullen het gaat namelijk bij mij om een ledensysteem en wou graag dat gebruikers http://www.jouwebsitelink.nl/username kunnen nu nu kunnen ze dat wel maar dan moet het met userid en dat wil ik graag aanpassen weet iemand hoe
vraag 2:
Hoe komt het dat mijn design niet word weergegeven??? dus ik krijg de koude code zonder mijn css en images!
BVD
nu zit ik met de volgende 2 vragen
vraag 1:
Alleen mijn vraag hoe kan ik precies spelen dat ik ipv van mijn userid een username kan invullen het gaat namelijk bij mij om een ledensysteem en wou graag dat gebruikers http://www.jouwebsitelink.nl/username kunnen nu nu kunnen ze dat wel maar dan moet het met userid en dat wil ik graag aanpassen weet iemand hoe
vraag 2:
Hoe komt het dat mijn design niet word weergegeven??? dus ik krijg de koude code zonder mijn css en images!
BVD
antwoord 1:
Je kan ook beiden meegeven, bijv: http://www.jouwebsitelink.nl/gebruikers/123/gebruikersnaam, waarbij je het laatste stukje 'gebruikersnaam' gewoon negeert en alleen laat dienen als extra informatie in de URL. Dit doen ze ook op tweakers.net en nu.nl.
antwoord 2:
Omdat je browser denkt dat je in de map zit die in de urls staan, en dus daar een plaatje gaat zoeken. Voorbeeld: je zit op http://domein.nl/forum/123/12-32.html en daar verwijs je naar plaatje.png. Je browser zal voor het plaatje gaan zoeken naar http://domein.nl/forum/123/plaatje.png, terwijl het gewoon in http://domein.nl/plaatje.png staat.
Oplossing: de volledige url gebruiken. Dus voortaan verwijzen naar http://domein.nl/plaatje.png, of makkelijker naar /plaatje.png (die voorgaande / geeft aan dat hij in de 'root' van het domein moet gaan zoeken)
Je kan ook beiden meegeven, bijv: http://www.jouwebsitelink.nl/gebruikers/123/gebruikersnaam, waarbij je het laatste stukje 'gebruikersnaam' gewoon negeert en alleen laat dienen als extra informatie in de URL. Dit doen ze ook op tweakers.net en nu.nl.
antwoord 2:
Omdat je browser denkt dat je in de map zit die in de urls staan, en dus daar een plaatje gaat zoeken. Voorbeeld: je zit op http://domein.nl/forum/123/12-32.html en daar verwijs je naar plaatje.png. Je browser zal voor het plaatje gaan zoeken naar http://domein.nl/forum/123/plaatje.png, terwijl het gewoon in http://domein.nl/plaatje.png staat.
Oplossing: de volledige url gebruiken. Dus voortaan verwijzen naar http://domein.nl/plaatje.png, of makkelijker naar /plaatje.png (die voorgaande / geeft aan dat hij in de 'root' van het domein moet gaan zoeken)
Hallo,
Ik krijg een 500.
Ik heb dit in mijn htaccess:
de root, doet het wel dus gewoon www.mijndomain.nl maar mijndomain.nl/file.php doet het niet, of dus ok www.mijndomain.nl/777
Wat doe ik fout?
Groeten ZaP
Ik krijg een 500.
Ik heb dit in mijn htaccess:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
RewriteEngine on
RewriteRule ^/777/ 777
RewriteRule ^/nieuws /index.php?p=article
RewriteRule ^/nieuws/([0-9]+)/ index.php?p=article&id=$1
RewriteRule ^/nieuws/([0-9]+), (.*)/ index.php?p=article&id=$1&category=$2
RewriteRule ^/777 777
RewriteRule ^/nieuws index.php?p=article
RewriteRule ^/nieuws/([0-9]+) index.php?p=article&id=$1
RewriteRule ^/nieuws/([0-9]+), (.*) index.php?p=article&id=$1&category=$2
RewriteRule ^/777/ 777
RewriteRule ^/review/ index.php?p=review
RewriteRule ^/review/([0-9]+)/ index.php?p=review&id=$1
RewriteRule ^/review/([0-9]+), (.*)/ index.php?p=review&id=$1&category=$2
RewriteRule ^/777 777
RewriteRule ^/review index.php?p=review
RewriteRule ^/review/([0-9]+) index.php?p=review&id=$1
RewriteRule ^/review/([0-9]+), (.*) index.php?p=review&id=$1&category=$2
RewriteRule ^/777/ 777
RewriteRule ^/preview/ index.php?p=review&f=p
RewriteRule ^/preview/([0-9]+)/ index.php?p=review&f=p&id=$1
RewriteRule ^/preview/([0-9]+), (.*)/ index.php?p=review&f=p&id=$1&category=$2
RewriteRule ^/777 777
RewriteRule ^/preview index.php?p=review&f=p
RewriteRule ^/preview/([0-9]+) index.php?p=review&f=p&id=$1
RewriteRule ^/preview/([0-9]+), (.*) index.php?p=review&f=p&id=$1&category=$2
RewriteRule ^/777/ 777
RewriteRule ^/profiel/ index.php?p=profiel
RewriteRule ^/profiel/(.*)/ index.php?p=profiel&id=$1
RewriteRule ^/777 777
RewriteRule ^/profiel index.php?p=profiel
RewriteRule ^/profiel/(.*) index.php?p=profiel&id=$1
RewriteRule ^/777/ 777
RewriteRule ^/wprofiel/ index.php?p=wijzigprofiel
RewriteRule ^/777 777
RewriteRule ^/wprofiel/ index.php?p=wijzigprofiel
RewriteRule ^/777/ 777
RewriteRule ^/admin/ index.php?p=admin
RewriteRule ^/admin/(.*)/ index.php?p=admin?a=$1
RewriteRule ^/777 777
RewriteRule ^/admin index.php?p=admin
RewriteRule ^/admin/(.*) index.php?p=admin?a=$1
RewriteRule ^/777/ 777
RewriteRule ^/php/(.*)/ index.php?p=$1
RewriteRule ^/777 777
RewriteRule ^/php/(.*) index.php?p=$1
RewriteRule ^/777/ 777
RewriteRule ^/nieuws /index.php?p=article
RewriteRule ^/nieuws/([0-9]+)/ index.php?p=article&id=$1
RewriteRule ^/nieuws/([0-9]+), (.*)/ index.php?p=article&id=$1&category=$2
RewriteRule ^/777 777
RewriteRule ^/nieuws index.php?p=article
RewriteRule ^/nieuws/([0-9]+) index.php?p=article&id=$1
RewriteRule ^/nieuws/([0-9]+), (.*) index.php?p=article&id=$1&category=$2
RewriteRule ^/777/ 777
RewriteRule ^/review/ index.php?p=review
RewriteRule ^/review/([0-9]+)/ index.php?p=review&id=$1
RewriteRule ^/review/([0-9]+), (.*)/ index.php?p=review&id=$1&category=$2
RewriteRule ^/777 777
RewriteRule ^/review index.php?p=review
RewriteRule ^/review/([0-9]+) index.php?p=review&id=$1
RewriteRule ^/review/([0-9]+), (.*) index.php?p=review&id=$1&category=$2
RewriteRule ^/777/ 777
RewriteRule ^/preview/ index.php?p=review&f=p
RewriteRule ^/preview/([0-9]+)/ index.php?p=review&f=p&id=$1
RewriteRule ^/preview/([0-9]+), (.*)/ index.php?p=review&f=p&id=$1&category=$2
RewriteRule ^/777 777
RewriteRule ^/preview index.php?p=review&f=p
RewriteRule ^/preview/([0-9]+) index.php?p=review&f=p&id=$1
RewriteRule ^/preview/([0-9]+), (.*) index.php?p=review&f=p&id=$1&category=$2
RewriteRule ^/777/ 777
RewriteRule ^/profiel/ index.php?p=profiel
RewriteRule ^/profiel/(.*)/ index.php?p=profiel&id=$1
RewriteRule ^/777 777
RewriteRule ^/profiel index.php?p=profiel
RewriteRule ^/profiel/(.*) index.php?p=profiel&id=$1
RewriteRule ^/777/ 777
RewriteRule ^/wprofiel/ index.php?p=wijzigprofiel
RewriteRule ^/777 777
RewriteRule ^/wprofiel/ index.php?p=wijzigprofiel
RewriteRule ^/777/ 777
RewriteRule ^/admin/ index.php?p=admin
RewriteRule ^/admin/(.*)/ index.php?p=admin?a=$1
RewriteRule ^/777 777
RewriteRule ^/admin index.php?p=admin
RewriteRule ^/admin/(.*) index.php?p=admin?a=$1
RewriteRule ^/777/ 777
RewriteRule ^/php/(.*)/ index.php?p=$1
RewriteRule ^/777 777
RewriteRule ^/php/(.*) index.php?p=$1
de root, doet het wel dus gewoon www.mijndomain.nl maar mijndomain.nl/file.php doet het niet, of dus ok www.mijndomain.nl/777
Wat doe ik fout?
Groeten ZaP
Ik ben ook bezig op een nieuwe site dit toe te passen en heb ik het volgende in de .htaccess staan:
RewriteEngine On
RewriteRule ^alg/forum/ index.php?page=alg/forum/forum.php
RewriteRule ^alg/scripts/ index.php?page=alg/scripts/scripts.php
RewriteRule ^alg/tutorials/ index.php?page=alg/tuts/tutorials.php
RewriteRule ^alg/login/ index.php?page=alg/leden/login.php
RewriteRule ^alg/contact/ index.php?page=alg/inf/contact.php
Hij doet het wel, maar elke keer als ik dus op een link in het menu klik, dan is het zo dat als ik eerst naar het forum ga dat er staat:
/alg/forum/ ga ik daarna naar scripts bijvoorbeeld dan krijg ik dit:
/alg/forum/alg/scripts/
Dus dan wordt hij niet vervangen, maar komt het er gewoon extra achter te staan
Kan iemand hier een handje mee helpen?
RewriteEngine On
RewriteRule ^alg/forum/ index.php?page=alg/forum/forum.php
RewriteRule ^alg/scripts/ index.php?page=alg/scripts/scripts.php
RewriteRule ^alg/tutorials/ index.php?page=alg/tuts/tutorials.php
RewriteRule ^alg/login/ index.php?page=alg/leden/login.php
RewriteRule ^alg/contact/ index.php?page=alg/inf/contact.php
Hij doet het wel, maar elke keer als ik dus op een link in het menu klik, dan is het zo dat als ik eerst naar het forum ga dat er staat:
/alg/forum/ ga ik daarna naar scripts bijvoorbeeld dan krijg ik dit:
/alg/forum/alg/scripts/
Dus dan wordt hij niet vervangen, maar komt het er gewoon extra achter te staan
Kan iemand hier een handje mee helpen?
Wie kan mij svp helpen, ik heb van alles geprobeerd na de tutorial gelzen te hebben, maar het zal wel aan mij liggen uiteraard.
Wat wil ik:
http://www.mijndomein.nl/home/artikel/1 vertalen naar:
http://www.mijndomein.nl/index.php?pagina=1
mijn htaccess is als volgt:
RewriteEngine On
RewriteRule ^home/artikel/(.*) index.php?pagina=$1
Tot nu toe heb ik allerlei resultaten gezien, varierend van een 404-pagina tot een pagina zonder css-opmaak.
bij voorbaat dank voor de hulp !
Wat wil ik:
http://www.mijndomein.nl/home/artikel/1 vertalen naar:
http://www.mijndomein.nl/index.php?pagina=1
mijn htaccess is als volgt:
RewriteEngine On
RewriteRule ^home/artikel/(.*) index.php?pagina=$1
Tot nu toe heb ik allerlei resultaten gezien, varierend van een 404-pagina tot een pagina zonder css-opmaak.
bij voorbaat dank voor de hulp !
srry.. is nog geen 24 uur later.. maar ik snap het echt niet.. moet ik de src aanpassen??
trouwens.. de css werkt ook niet.. (extern css bestand)
maar includen werkt weer wel :?
trouwens.. de css werkt ook niet.. (extern css bestand)
maar includen werkt weer wel :?
Edit:
dit gebeurt ook als ik gewoon naar mijn homepage ga.. (zonder iets achter de / )
en als ik mijn .htaccess verwijder zie ik alles wel gewoon goed!
en als ik mijn .htaccess verwijder zie ik alles wel gewoon goed!
Misschien wat laat, maar toch bedankt voor deze goede tutorial. Heb hem zojuist met succes op m'n weblog toegepast ;-) !
Vergeet niet dat de rewrite regels in goede volgorde moeten staan in het .htaccess bestand, bijv:
RewriteEngine On
RewriteRule ^index/(.*)/(.*)/ index.php?p=$1&id=$2
RewriteRule ^index/(.*)/ index.php?p=$1
..en dus niet zo...
RewriteEngine On
RewriteRule ^index/(.*)/ index.php?p=$1
RewriteRule ^index/(.*)/(.*)/ index.php?p=$1&id=$2
..dan pakt de server namelijk alleen de eerste rewrite, en niet meer de andere. Beetje lastig om uit te leggen, maar kort gezegd, altijd de langste rewrite bovenaan. Veel mensen kwamen hiermee in de problemen, een probleem van niet goed lezen ;]
RewriteEngine On
RewriteRule ^index/(.*)/(.*)/ index.php?p=$1&id=$2
RewriteRule ^index/(.*)/ index.php?p=$1
..en dus niet zo...
RewriteEngine On
RewriteRule ^index/(.*)/ index.php?p=$1
RewriteRule ^index/(.*)/(.*)/ index.php?p=$1&id=$2
..dan pakt de server namelijk alleen de eerste rewrite, en niet meer de andere. Beetje lastig om uit te leggen, maar kort gezegd, altijd de langste rewrite bovenaan. Veel mensen kwamen hiermee in de problemen, een probleem van niet goed lezen ;]
Ik werk met xampp en heb de mod_rewrite geactiveerd en de .conf aangepast.
Nu ben ik aan het werken in een submap "test" in de "htdocs" map.
In die map staan dus alle bestanden voor een kleine website.
Ik heb de .htaccess in de map "test" geplaatst en ook in de "htdocs" maar blijkt dus niet te werken.
Dit staat in mijn .htaccess:
RewriteEngine On
RewriteRule ^test/(.*)/ index.php?value=$1
Hopelijk kan iemand me helpen. Bedankt
Nu ben ik aan het werken in een submap "test" in de "htdocs" map.
In die map staan dus alle bestanden voor een kleine website.
Ik heb de .htaccess in de map "test" geplaatst en ook in de "htdocs" maar blijkt dus niet te werken.
Dit staat in mijn .htaccess:
RewriteEngine On
RewriteRule ^test/(.*)/ index.php?value=$1
Hopelijk kan iemand me helpen. Bedankt
ik heb ook een vraag ivm deze tut: http://www.phphulp.nl/forum/showtopic.php?cat=14&id=35794
'k Zou een specifieke mod rewrite nodig hebben maar k weet niet hoe ik eraan moet beginnen :-( Alle hulp is welkom?
1)
/pictures/ and everything below this directory: no rewrite
2)
/assets/ and everything below this directory: no rewrite
3)
/sales/ and everything below this directory: no rewrite
4)
/***.php no rewrite
5)
/white/$action/$id rewrite to /white.php?id=$id&action=$action
examples
1/2/3)
http://www.domain.tld/pictures to /pictures
http://www.domain.tld/pictures/pic1.jpg to /pictures/pic1.jpg
http://www.domain.tld/pictures/dir1/pic1.jpg to /pictures/dir1/pic1.jpg
http://www.domain.tld/pictures/dir2/pic1.jpg to /pictures/dir2/pic1.jpg
4)
http://www.domain.tld/test.php to /test.php
http://www.domain.tld/pic.php to /pic.php
http://www.domain.tld/other.php to /other.php
5)
http://www.domain.tld/white/search/toyota to /mod.php?type=white&action=search&id=toyota
http://www.domain.tld/white/My toyota is a great car/toyota to
/mod.php?type=white&action="My toyota is a great car"&id=toyota
Do I actually need the quotes '"' in the second example? I rather not convert it
urlencode-style, it's to let searchengines deal better with the pages.
1)
/pictures/ and everything below this directory: no rewrite
2)
/assets/ and everything below this directory: no rewrite
3)
/sales/ and everything below this directory: no rewrite
4)
/***.php no rewrite
5)
/white/$action/$id rewrite to /white.php?id=$id&action=$action
examples
1/2/3)
http://www.domain.tld/pictures to /pictures
http://www.domain.tld/pictures/pic1.jpg to /pictures/pic1.jpg
http://www.domain.tld/pictures/dir1/pic1.jpg to /pictures/dir1/pic1.jpg
http://www.domain.tld/pictures/dir2/pic1.jpg to /pictures/dir2/pic1.jpg
4)
http://www.domain.tld/test.php to /test.php
http://www.domain.tld/pic.php to /pic.php
http://www.domain.tld/other.php to /other.php
5)
http://www.domain.tld/white/search/toyota to /mod.php?type=white&action=search&id=toyota
http://www.domain.tld/white/My toyota is a great car/toyota to
/mod.php?type=white&action="My toyota is a great car"&id=toyota
Do I actually need the quotes '"' in the second example? I rather not convert it
urlencode-style, it's to let searchengines deal better with the pages.
Welke wil je nu? Wil je doorverwijzen naar white.php of naar mod.php?type=white?
Uitgaande van het tweede heb je maar een rewrite rule nodig:
Let erop dat in bovenstaande de url wel met een / afgesloten moet worden.
Uitgaande van het tweede heb je maar een rewrite rule nodig:
Code (php)
1
2
3
2
3
RewriteEngine On
RewriteBase /
RewriteRule ^white/(.*?)/(.*?)/$ mod.php?type=white&action=$1&id=$2 [L]
RewriteBase /
RewriteRule ^white/(.*?)/(.*?)/$ mod.php?type=white&action=$1&id=$2 [L]
Let erop dat in bovenstaande de url wel met een / afgesloten moet worden.
Bedankt al voor de snelle reactie!
Ik zou alles per default niet willen doorsturen
(1/2/3/4) wil ik dus onbehandeld ontvangen, maar
(5) zou ik naar de desbetreffende mod.php willen diverten.
in dit geval zijn er meerdere rewrites nodig
bv /white maar ook /black en /green
Alles dient dus ongemoeid gelaten te worden, enkel de opgesomden in (5) zouden moeten gerewrited worden.
Die 'L' op het einde baart me dus zorgen in jouw voorbeeld. Wat betekent 'L'ast hier precies?
Ik zou alles per default niet willen doorsturen
(1/2/3/4) wil ik dus onbehandeld ontvangen, maar
(5) zou ik naar de desbetreffende mod.php willen diverten.
in dit geval zijn er meerdere rewrites nodig
bv /white maar ook /black en /green
Alles dient dus ongemoeid gelaten te worden, enkel de opgesomden in (5) zouden moeten gerewrited worden.
Die 'L' op het einde baart me dus zorgen in jouw voorbeeld. Wat betekent 'L'ast hier precies?
Is het ook mogelijk om je adres van bijvoorbeeld:
http://www.mijndomein.nl/blog/post.php?id=1
naar
http://www.mijndomein.nl/blog/eindpresentatie
te krijgen? Zou iemand mij dit uit kunnen leggen? Dus dat hij de titel van het bericht geeft ipv id=1
Bedankt!
http://www.mijndomein.nl/blog/post.php?id=1
naar
http://www.mijndomein.nl/blog/eindpresentatie
te krijgen? Zou iemand mij dit uit kunnen leggen? Dus dat hij de titel van het bericht geeft ipv id=1
Bedankt!
Dan zou je dus met de titel van een bericht als GET variabele moeten werken, dit is niet aan te raden. Wat je wel zou kunnen doen is naast het id ook de titel van het bericht in de url kunnen zetten. Met behulp van mod-rewrite zorg je dan dat het id als GET variabele omgeschreven wordt en de titel negeer je dan verder. Die gebruik je alleen voor de show.
Het is overigens met mod-rewrite niet mogelijk om een id om te zetten naar een titel, daar zal toch echt PHP aan te pas moeten komen...
Het is overigens met mod-rewrite niet mogelijk om een id om te zetten naar een titel, daar zal toch echt PHP aan te pas moeten komen...
Oke dat is duidelijk.
Dan zou het dus dit worden:
http://www.mijndomein.nl/blog/2/eindpresentatie
Tot zover duidelijk. Dan heb ik nog een vraag. Als een titel bijvoorbeeld 'Dit is mijn blog' zou heten. Zorgt hij automatisch voor het veranderen van hoofdletters en spaties? Want de url zou dan zoiets moeten zijn lijkt me:
http://www.mijndomein.nl/blog/3/dit-is-mijn-blog/
Dan zou het dus dit worden:
http://www.mijndomein.nl/blog/2/eindpresentatie
Tot zover duidelijk. Dan heb ik nog een vraag. Als een titel bijvoorbeeld 'Dit is mijn blog' zou heten. Zorgt hij automatisch voor het veranderen van hoofdletters en spaties? Want de url zou dan zoiets moeten zijn lijkt me:
http://www.mijndomein.nl/blog/3/dit-is-mijn-blog/
Kan iemand mij helpen?
Ik bouw mijn menu op door een array. Met Mod_rewrite wordt ik er echter niet veel wijzer uit nu...
De .htacces heb ik momenteel alsvolgt:
Hoe ga ik het nu werkend krijgen? Ik loop zelf namenlijk een beetje vast. Het redirecten dmv .htacces werkt wel, alleen het probleem is dat ik mijn hele menu dus met een array opbouw.
Iemand de oplossing? En zijn er mensen hier die daar ervaringen mee hebben?
Ik bouw mijn menu op door een array. Met Mod_rewrite wordt ik er echter niet veel wijzer uit nu...
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$aPages = array('Item1', 'Item2', 'Item3', 'Item4, 'Item5'); // De pagina's in die in het menu moeten verschijnen
foreach($aPages as $page){
$current = ((!empty($_GET['pagina']) && in_array($_GET['pagina'], $aPages) && $_GET['pagina'] == $page) || (!isset($_GET['pagina']) && $page == 'Item1'))? ' class="current"':'';
echo '<li'.$current.'><a href="?pagina='.$page.'">'.$page.'</a></li>'.PHP_EOL;
}
?>
$aPages = array('Item1', 'Item2', 'Item3', 'Item4, 'Item5'); // De pagina's in die in het menu moeten verschijnen
foreach($aPages as $page){
$current = ((!empty($_GET['pagina']) && in_array($_GET['pagina'], $aPages) && $_GET['pagina'] == $page) || (!isset($_GET['pagina']) && $page == 'Item1'))? ' class="current"':'';
echo '<li'.$current.'><a href="?pagina='.$page.'">'.$page.'</a></li>'.PHP_EOL;
}
?>
De .htacces heb ik momenteel alsvolgt:
Hoe ga ik het nu werkend krijgen? Ik loop zelf namenlijk een beetje vast. Het redirecten dmv .htacces werkt wel, alleen het probleem is dat ik mijn hele menu dus met een array opbouw.
Iemand de oplossing? En zijn er mensen hier die daar ervaringen mee hebben?
Het dynamische menu heeft niets te maken met mod-rewrite...
Met mod-rewrite zorg je ervoor dat je urls kunt gebruiken die er een stuk aangenamer uitzien en die beter te lezen zijn door bijvoorbeeld zoekmachines. De rewrite engine pikt deze 'mooie' urls op en stuurt ze onzichtbaar door naar de eigenlijke urls.
De urls waar jij in je menu naar moet linken zijn dus die mooie urls. Maar hoe jij dat voor elkaar krijgt staat helemaal los van de mod-rewrite, dat is puur een kwestie van het juiste echo?n van de html code voor de links.
Kortom, zoek eens uit waar het fout gaat (bij het genereren van de urls, of het rewriten ervan), pas dan weet je waar je de fout moet gaan zoeken en oplossen.
Met mod-rewrite zorg je ervoor dat je urls kunt gebruiken die er een stuk aangenamer uitzien en die beter te lezen zijn door bijvoorbeeld zoekmachines. De rewrite engine pikt deze 'mooie' urls op en stuurt ze onzichtbaar door naar de eigenlijke urls.
De urls waar jij in je menu naar moet linken zijn dus die mooie urls. Maar hoe jij dat voor elkaar krijgt staat helemaal los van de mod-rewrite, dat is puur een kwestie van het juiste echo?n van de html code voor de links.
Kortom, zoek eens uit waar het fout gaat (bij het genereren van de urls, of het rewriten ervan), pas dan weet je waar je de fout moet gaan zoeken en oplossen.
Dat is waar, en het is me ook bijna gelukt.
Alleen dan link ik bijv naar pagina/'.$page.' en dan ben je dus op www.domein.nl/pagina/home en de link word dan: www.domein.nl/pagina/home/pagina/info
dat is natuurlijk niet de bedoeling, zal ik hiervoor de GET aan moeten passen? Iemand die me een stukje hulp kan geven?
Alleen dan link ik bijv naar pagina/'.$page.' en dan ben je dus op www.domein.nl/pagina/home en de link word dan: www.domein.nl/pagina/home/pagina/info
dat is natuurlijk niet de bedoeling, zal ik hiervoor de GET aan moeten passen? Iemand die me een stukje hulp kan geven?
mijn .htaccess ziet er zo uit:
en als ik naar de pagina http://www.mijnsite.nl/leden ga, stuurt hij me netjes door naar http://www.mijnsite.nl/index.php?page=leden
maar dan laad hij mij afbeeldingen niet, ik zie enkel de tekst en daar waar plaatjes horen een paar lijntjes en kruisjes
maar als ik de locatie van mijn afbeelding verander van
achtergrond.jpg
naar
http://www.mijnsite.nl/achtergrond.jpg
doet hij het wel..
moet ik nu alle afbeelding op deze manier gaan linken of is er een andere manier??
en als ik naar de pagina http://www.mijnsite.nl/leden ga, stuurt hij me netjes door naar http://www.mijnsite.nl/index.php?page=leden
maar dan laad hij mij afbeeldingen niet, ik zie enkel de tekst en daar waar plaatjes horen een paar lijntjes en kruisjes
maar als ik de locatie van mijn afbeelding verander van
achtergrond.jpg
naar
http://www.mijnsite.nl/achtergrond.jpg
doet hij het wel..
moet ik nu alle afbeelding op deze manier gaan linken of is er een andere manier??
Het lukt me al aardig.
Maar hoe kan ik deze link veranderen?
/script/radio%20v2
In:
/script/radio_v2.html
Dit staat in mijn htaccess:
RewriteRule ^script/(.*)/ script.php?id=$1
RewriteRule ^script/(.*) script.php?id=$1
EDIT:
html heb ik al voor elkaar:
RewriteRule ^script/(.*)/ script.php?id=$1
RewriteRule ^script/(.*).html script.php?id=$1
Hij laat nu dit zien:
/script/radio%20v2.html
Maar hoe krijg ik die %20 verandert in _
EDIT 2:
Aah ik ben erachter gekomen.
str_replace(" ","_",$row->scriptnaam);
Maar hoe kan ik deze link veranderen?
/script/radio%20v2
In:
/script/radio_v2.html
Dit staat in mijn htaccess:
RewriteRule ^script/(.*)/ script.php?id=$1
RewriteRule ^script/(.*) script.php?id=$1
EDIT:
html heb ik al voor elkaar:
RewriteRule ^script/(.*)/ script.php?id=$1
RewriteRule ^script/(.*).html script.php?id=$1
Hij laat nu dit zien:
/script/radio%20v2.html
Maar hoe krijg ik die %20 verandert in _
EDIT 2:
Aah ik ben erachter gekomen.
str_replace(" ","_",$row->scriptnaam);
Ik ben ook bezig geweest met mod_rewrite. Het lukte me maar steeds niet om het simpele webadres http://www.domeinnaam.nl?pagina=home om te zetten in http://www.domeinnaam.nl/home. Nu kan het aan mij liggen maar uit alle informatie en reacties in dit artikel is het mij niet gelukt het gewenste resultaat te bereiken. Terwijl je volgens mij het beste bij de basis kan beginnen.
Uiteindelijk ben ik verder gaan zoeken en kwam ik uiteindelijk op een andere (duidelijkere) tut.
Voor de mensen die toch nog aan het stoeien zijn met dit probleem en graag de basis willen begrijpen, dit is mij uiteindelijke oplossing.
Zet in de .htaccess file:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-]+)$ ?pagina=$1
Op deze code je natuurlijk voortbouwen, maar dit is de basis.
Uiteindelijk ben ik verder gaan zoeken en kwam ik uiteindelijk op een andere (duidelijkere) tut.
Voor de mensen die toch nog aan het stoeien zijn met dit probleem en graag de basis willen begrijpen, dit is mij uiteindelijke oplossing.
Zet in de .htaccess file:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-]+)$ ?pagina=$1
Op deze code je natuurlijk voortbouwen, maar dit is de basis.
Ik ben multiviews aan het proberen op mijn website, dit werkt. Enige probleem waar ik tegenaan loop http://www.indigio.nl/indigio
Zit dat hem in de domeinnaam? En moet ik de variabele dan aanpassen (/indigio) of is er een manier om dat te omzeilen?
Groet sander
Zit dat hem in de domeinnaam? En moet ik de variabele dan aanpassen (/indigio) of is er een manier om dat te omzeilen?
Groet sander
hoi,
Heeft al iemand gevonden hoe je dit toe past bij een subdomein?
Ik heb het nu toegepast op mijn site http://www.shaxxers.com/lyrics/
nu wil ik ook http://lyrics.shaxxers.com gebruiken, maar krijg een foutmelding (500 internal server error)
Heeft iemand hier een oplossing voor?
mvg,
Thijs
Heeft al iemand gevonden hoe je dit toe past bij een subdomein?
Ik heb het nu toegepast op mijn site http://www.shaxxers.com/lyrics/
nu wil ik ook http://lyrics.shaxxers.com gebruiken, maar krijg een foutmelding (500 internal server error)
Heeft iemand hier een oplossing voor?
mvg,
Thijs
Hoi,
Ik heb een probleem in mijn .htaccess met de RewriteRule module waar ik niet uit kom.
De bedoeling is dat een URL als bijv. www.website.nl/webshop/Boeken-3/ vervangen wordt door www.website.nl/webshop/home.php?cat=3
Het einde van de directory moet dus verwijzen naar de category.
Nu kan de URL van de directory ook bijv. worden /CD-Platen-5/
Inmiddels heb ik de volgende code, waardoor ik directory /3/ wel kan zien als home.php?cat=3.
Maar hoe krijg ik het gedeelte voor het getal weggehaald?
Ik heb een probleem in mijn .htaccess met de RewriteRule module waar ik niet uit kom.
De bedoeling is dat een URL als bijv. www.website.nl/webshop/Boeken-3/ vervangen wordt door www.website.nl/webshop/home.php?cat=3
Het einde van de directory moet dus verwijzen naar de category.
Nu kan de URL van de directory ook bijv. worden /CD-Platen-5/
Inmiddels heb ik de volgende code, waardoor ik directory /3/ wel kan zien als home.php?cat=3.
Maar hoe krijg ik het gedeelte voor het getal weggehaald?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([a-zA-Z0-9\-]+)/?$ /webshop/home.php?cat=$1 [NC,QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .*\/([^\.]+\.(:?php|html|htm))$ $1 [NC,QSA,L]
</IfModule>[/CODE]
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([a-zA-Z0-9\-]+)/?$ /webshop/home.php?cat=$1 [NC,QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .*\/([^\.]+\.(:?php|html|htm))$ $1 [NC,QSA,L]
</IfModule>[/CODE]
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Miranda Verburg- 8 jaar geleden
- 14.101 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP tutorials opties
- Overig
- Nieuwste PHP tutorials
- PHP tutorial toevoegen

PHP hulp
0 seconden vanaf nu