Question

I want to set a 'default' rewrite rule to catch anything that didn't match the previous rewrite entries. I've tried this:

RewriteRule ^(.*)/?$ index.php?url=$1 [L]

But the output returned is:

url = index.php

Ideally what I want is to attach all the GET values to 'url' so they will be saved to my web log. Anyone have any suggestions how to solve this?

Was it helpful?

Solution

Omit needless parentheses in regular expressions whenever you can:

RewriteRule .* index.php?url=$0 [L]

If you want to exclude "index.php":

RewriteRule ^(?!index\.php).* index.php?url=$0 [L]

OTHER TIPS

You need to exclude the destination from your rule:

RewriteCond $1 !=index.php
RewriteRule ^(.*)/?$ index.php?url=$1 [L]

Try to remove slash:

RewriteRule ^(.*)$ index.php?url=$1 [L]
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top