Mod_rewrite hulp

Status
Niet open voor verdere reacties.

Hosballz

Gebruiker
Lid geworden
6 mrt 2012
Berichten
24
Hoi,

ik heb de volgende opbouw van pagina's op mijn website:
http://domeinnaam.nu/content.php?p=verzending

Ik probeer de url te herschrijven naar iets als domeinnaam.nu/verzending
ik heb het volgende geprobeerd:
Code:
RewriteRule ^/content.php?p=(.*)$ /$1/ [R=301,L]
Dit werkte niet.


Als ik mijndomein.nu/verzending/ intyp krijg ik een rewrite naar /content.php?p=verzending.

Ik moet dus exact het tegenovergestelde hebben.

Hier is mijn volledige .htaccess
Code:
ErrorDocument 404 /404.html

Options +FollowSymlinks
Options -MultiViews

RewriteEngine on
RewriteBase / 
RewriteCond %{THE_REQUEST} ^.*/index\.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L] 
#------------------------------------------- Het stukje rewrite
RewriteRule ^/content.php?p=(.*)$ /$1/ [R=301,L]

Bedankt voor jullie hulp alvast.
 
Dus dit zoek je dan?
Code:
RewriteRule ^/(.*)$ /content.php?p=$1 [R=301,L]
 
Dus dit zoek je dan?
Code:
RewriteRule ^/(.*)$ /content.php?p=$1 [R=301,L]

Dat stukje code had ik eerder ook al geprobeerd maar zonder resultaat.

Hier is de echte URL waar het over gaat:
http://minibikes.nu/content.php?p=verzending

2e vraagje trouwens, geldt die rewrite ook voor de broncode, dus dat er ipv <a href="content.php?p=pagina"> dan ook echt <a href"pagina/"> komt te staan?
ik zoek dus een oplossing dat ik de php url vol variabelen intyp en een mooie cleane url laat zien in de adresbalk.
 
Klein foutje merk ik, dit moet werken:
Code:
RewriteRule ^(.*)$ /content.php?p=$1 [R=301,L]

mod_rewrite werkt alleen voor je webserver, in je code moet je dus de nette url's gebruiken.
 
ik vul nog iets aan die je mogelijks weet maar niet te zien is

hier heb ik een charsetgeplaatst
Code:
AddDefaultCharset utf-8
rewrite staat mogelijks niet aan dus aan zetten
Code:
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
hieronder wilde ik bepalen dat men bepaalde characters in de rewrite mogen komen ter beveiliging van onderandere injectie
nu de rewrite mag niet doorgaan voor extenties als fotos
Code:
RewriteRule ^([A-Za-z0-9\.]+)!(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ ./$1/
hieronder heb ik verwezen naar ./? maar deze gaat automatisch verwijzen naar ./index.php?loc.......
Code:
RewriteRule ^([A-Za-z0-9\.]+)/$ ./?loc=$1
 
Laatst bewerkt:
Waarom al die extensies opgeven? Dit doet hetzelfde lijkt mij:
Code:
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan