Wie kan mij even met het volgende helpen,

ik gebruik momenteel de volgende code
RewriteRule ^([A-Za-z0-9-/+]+)/?$ index.php?p=$1 [NC,L]

om SEO vriendelijk url's te krijgen.

Alleen nu heb ik een pagina (nieuwsbrief) waar een e-mail adres in de url moet staan maar dan gaat de code op zijn nek vanwege de @ en de .

Wie kan me helpen met het maken van een goede regex?
En als je nu de php functie urlencode gebruikt, dan wordt de '@' in het e-mailadres vervangen door '%40'.
Volgens mij kun je ook ^(.*) gebruiken ipv ^([A-Za-z0-9-/+]+), dan worden alle tekens omgezet.
David van der Tuijn op 25/08/2010 17:15:20

En als je nu de php functie urlencode gebruikt, dan wordt de '@' in het e-mailadres vervangen door '%40'.


Dan loop ik tegen het zelfde probleem aan want dan staat er % in de url en die word ook niet toegestaan...

momenteel heb ik het zo en werkt het:
RewriteRule ^([A-Za-z0-9-/+\.\@]+)/?$ index.php?p=$1 [NC,L]


Maar waarschijnlijk kan hij wel beter.



[size=xsmall]Toevoeging op 26/08/2010 15:39:43:[/size]

Okey bovenstaande regel doet het wel alleen nu doen de rest van de rewriterules het niet meer.


RewriteEngine On
RewriteBase /200900%20-%20CMS/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# CMS pagina's
RewriteRule ^ban/?$ ban.php [NC,L]
RewriteRule ^offline/?$ offline.php [NC,L]
RewriteRule ^internet-explorer-6/?$ ie6.php [NC,L]
RewriteRule ^beheer/?$ beheer/inloggen.php [NC,L]

RewriteRule ^mail/([A-Za-z0-9-/+]+)/?$ includes/mail.php?p=$1 [NC,L]
RewriteRule ^print/([A-Za-z0-9-/+]+)/?$ includes/print.php?p=$1 [NC,L]

# Geen CMS pagina
RewriteRule ^([A-Za-z0-9-/+\.\@]+)/?$ index.php?p=$1 [NC,L]

ErrorDocument 404 pagina-niet-gevonden-404


Dus als ik bijvoorbeeld naar beheer ga dan gaat hij naar index.php?p=beheer.

Kan iemand mij hiermee helpen want word gek van de modrewrite.

Reageren