Beste SD-ers.
Voor mijn website wil ik graag SEO vriendelijke urls.
Ik heb mijn pagina navigatie opgebouwd met een switch.
De urls zien er nu zo uit:PHP Code:
switch ($path)
{
case "faq":include("faq.php");break;
default:include("datum.php");break;
}
www.mijnsite.nl/index.php?pagina=faq
Graag zou ik dit willen veranderen in:
www.mijnsite.nl/faq/
Nu heb ik de volgende .htacces mod_rewrite gebruikt:
Nu krijg ik als ik deze upload en rename naar .htaccess een 500 internal server error. Ik heb vantevoren gekeken of mod_rewrite module aanstond en dat was zo, daar kan het dus niet aan liggen.RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.* - [L]
RewriteRule ^(.*)/? index.php?pagina=$1 [L]
Weet iemand wat ik fout doe? of heeft iemand wellicht iets beters liggen?
Met vriendelijke groet,
Rolf Tent
- SEO vriendelijke URL's
-
30-03-2009, 18:22 #1
- Berichten
- 304
- Lid sinds
- 18 Jaar
SEO vriendelijke URL's
-
30-03-2009, 18:34 #2
- Berichten
- 249
- Lid sinds
- 17 Jaar
Ik maak altijd zo mijn .htaccess
Code:RewriteEngine On RewriteRule ^([a-zA-Z0-9_]+)$ index.php?p=$1 RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?p=$1¶meter1=$2
-
30-03-2009, 18:38 #3
- Berichten
- 304
- Lid sinds
- 18 Jaar
Kunt u misschien ook een beetje uitleggen bij geven?
en ook wat het precies doet?
ik heb echt 0,0 verstand van mod_rewrite :(
-
30-03-2009, 19:07 #4
- Berichten
- 249
- Lid sinds
- 17 Jaar
Natuurlijk kan dat:p
Zet de rewirtengine aan
Code:rewriteEngine On
Code:RewriteRule ^([a-zA-Z0-9_]+)$ index.php?p=$1
Rewriterule = Start de rewriterule
^ = begin van de string
([a-zA-Z0-9_]+) = Beveiliging alleen deze tekens zijn toegestaan. Hiermee vraag je de pagina op.
$ = einde van de string
$1 = Als de bezoeker dit aanvraagt: www.mijnsite.nl/home zal $1 worden vervangen door home
Dus om jou website te laten werken heb je dit stukje code nodig:
Code:RewriteEngine On RewriteRule ^([a-zA-Z0-9_]+)$ index.php?pagina=$1
-
30-03-2009, 21:01 #5
- Berichten
- 304
- Lid sinds
- 18 Jaar
Bedankt!
ik ga het even proberen, ik zal het laten weten wanneer het werkt!
Helemaal top! het werkt! super bedankt!
-
30-03-2009, 21:09 #6
- Berichten
- 249
- Lid sinds
- 17 Jaar
Graag gedaan hoor!
-
31-03-2009, 14:12 #7
- Berichten
- 304
- Lid sinds
- 18 Jaar
Marc, ik heb toch nog een vraag..
als ik dit doe:
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?p=$1&id=$2
dan is de output toch bijv:
product/1
of heb ik het mis?
Als ik dit doen namelijk dan laad hij de images niet. :(
Hoop dat het zo een beetje duidelijk is, is nogal moeilijk uit te leggen namelijk..
-
31-03-2009, 15:31 #8
- Berichten
- 249
- Lid sinds
- 17 Jaar
Dat klopt de plaatjes moet je linken vanaf de root.
-
31-03-2009, 16:20 #9
- Berichten
- 304
- Lid sinds
- 18 Jaar
Er bestaat geen andere variant waarbij dat niet hoeft?
zo niet, dan kan ik hier rekening mee houden voor de volgende keer :)
-
31-03-2009, 17:32 #10
- Berichten
- 249
- Lid sinds
- 17 Jaar
Bij mij weten niet.
Daarom doe ik altijd bij links en plaatjes standaard
<?php echo BASE_URL; ?>
en dan ik de config.php zet ik
define("BASE_URL","http://www.mijnsite.nl/");
Zo weet ik dat het altijd goed is.
-
31-03-2009, 18:55 #11
- Berichten
- 86
- Lid sinds
- 17 Jaar
Jawel, in de Head kan je dit zetten:
<base href="http://mijnsite.nl/" />
-
01-04-2009, 16:48 #12
- Berichten
- 304
- Lid sinds
- 18 Jaar
Toch nog een vraagje,
ik kan wel gewoon de GET's uit de url halen als ge rewrite is? en kan ik dan ook als de get een string is? bij een int kan ut wel, maar ook bij een string? want ik heb het geprobeerd... dat ik dan zegmaar www.mijnsite.nl/zoeken/debommel maar dan werkt het niet...
Hier de rewriterule:
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?pagina=$1&zoek=$2
normaal ziet de link er zo uit:
www.mijnsite.nl/?pagina=zoeken&zoek=debommel
-
01-04-2009, 16:58 #13
- Berichten
- 249
- Lid sinds
- 17 Jaar
Dit gaat idd niet werken.
Omdat je dit er ook al hebt staan:
Code:RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?p=$1&id=$2
die GET['zoek'] GET['id'] van maken dus de zoekstring staat dan in GET['id'].
Want anders weet mod_rewirte niet wat hij moet doen dit:
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?p=$1&id=$2
OF dit
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?p=$1&zoek=$2
-
01-04-2009, 17:01 #14
- Berichten
- 61
- Lid sinds
- 17 Jaar
Ik ga even niet in op je vraag, maar ik raad je aan om dit artikel te lezen:
http://corz.org/serv/tricks/htaccess2.php
Daar staat namelijk alles over htaccess duidelijk uitgelegd, wel helaas in het Engels.
-
01-04-2009, 17:25 #15
- Berichten
- 304
- Lid sinds
- 18 Jaar
@Marc H
Dit verklaart een hoop! dankjewel.
@Kees K
bedankt voor de link, ga het direct even lezen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic