Forum Moderators: phranque

Message Too Old, No Replies

I, too, need mod_rewrite help!

sheeish!

         

ansontook

9:36 pm on Mar 2, 2006 (gmt 0)

10+ Year Member



Is there a better way to write these rules? I think they are overlapping and causing problems. Please no laughing -- i Just started learning this yesterday. Everything before RewriteBase is fine (so far as I can tell). This actually seems to almost work right, but I'm not really sure:

.htaccess:

RewriteEngine on
Options +FollowSymlinks

# add www if missing:
RewriteCond %{HTTP_HOST} ^m3\.mysite\.com
RewriteRule ^(.*)$ [m3.mysite.com...] [R=permanent,L]

RewriteBase /

RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)$ portfolio/$1/ [R]
RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/$ portfolio/index.php?group=$1

RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/(.*)/(.*)/$ /portfolio/$1/$2/$3 [R]
RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/(.*)/(.*)$ /portfolio/display.php?group=$1&item=$2&collat=$3

RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/(.*)/$ /portfolio/$1/$2 [R]
RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/(.*)$ /portfolio/display.php?group=$1&item=$2

thanks!

ansontook

2:09 am on Mar 3, 2006 (gmt 0)

10+ Year Member



I updated the .htaccess and it seems to work fine. (Thanks jd for the trailing slash snippet.) Anyone willing to proof it for me?

RewriteEngine on
Options +FollowSymlinks

# add www if missing:
RewriteCond %{HTTP_HOST} ^example.com\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]

# append "/" if requested URI contains no filetype and does not end in "/"
RewriteCond %{REQUEST_URI} !(\.¦/$)
RewriteRule (.+) http://www.example.com/$1/ [R=301,L]

RewriteRule ^portfolio/$ portfolio/logos/ [R]

RewriteBase /

RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/$ portfolio/index.php?group=$1 [L]

RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/(.*)/(.*)/$ /portfolio/display.php?group=$1&item=$2&collat=$3 [L]

RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/(.*)/$ /portfolio/display.php?group=$1&item=$2 [L]

[edited by: jdMorgan at 3:28 pm (utc) on Mar. 3, 2006]
[edit reason] example.com [/edit]

jdMorgan

3:34 pm on Mar 3, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



I'd suggest the following changes to these rules:

RewriteRule ^portfolio/$ http://www.example.com/portfolio/logos/ [R=301,L]
#
RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/$ /portfolio/index.php?group=$1 [L]
RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/([^/]+)/([^/]+)/$ /portfolio/display.php?group=$1&item=$2&collat=$3 [L]
RewriteRule ^portfolio/(logos¦photography¦websites¦collateral)/([^/]+)/$ /portfolio/display.php?group=$1&item=$2 [L]

Jim

ansontook

7:12 pm on Mar 3, 2006 (gmt 0)

10+ Year Member



JIM!

THANKS!

(i think)