Jump to content

[SOLVED] Rewrite - Two rules help


wwfc_barmy_army

Recommended Posts

Hello,

 

I have this rule at the moment:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^(.*)$ index.php?id=$1 [QSA]
RewriteRule ^(.*)/(.*)/(.*)$ index.php?id=$1&width=$2&height=$3 [L,QSA]

 

This is what happens with the following:

mydomain.com/1/200/300 - Doest exactly what I want

mydomain.com/1/ - Goes off it some wild loop of kind of a mixture of both

 

Any ideas how i can get around this? I want 2 different rules depending on the url.

 

Thanks for any help.

 

Link to comment
https://forums.phpfreaks.com/topic/170372-solved-rewrite-two-rules-help/
Share on other sites

RewriteRule ^(.*)$ index.php?id=$1 [QSA]

 

 

Is looping because technically index.php matches .*.  So it redirects, then rewrites that...  Then rewrites that...  And so on.

 

Perhaps try:

 

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteRule ^(.*)$ index.php?id=$1 [QSA]

RewriteRule ^(.*)/(.*)/(.*)$ index.php?id=$1&width=$2&height=$3 [L,QSA]

 

 

And really that could be changed (based no your examples) to:

 

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteRule ^([0-9]+)$ index.php?id=$1 [QSA,L]

RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)$ index.php?id=$1&width=$2&height=$3 [L,QSA]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.