User Tools

Site Tools


gallery2_issues_mod_rewrite

This is an old revision of the document!


Custom mod_rewrite rules in .htaccess (at the top) to fix broken URLs with main.php in them:

#THESE TWO FIX THE ISSUE of /main.php in the URL:
#More fixup for more than one "/v/" in the URL:
RewriteCond %{THE_REQUEST} /gallery2/main\.php/v/(.*)/v/(.*) [OR]
RewriteCond %{REQUEST_URI} /gallery2/main\.php/v/(.*)
RewriteRule . /gallery2/v/%1 [R=301,L]
RewriteCond %{REQUEST_URI} /gallery2/main\.php/d/(.*)
RewriteRule . /gallery2/d/%1 [R=301,L]
RewriteCond %{REQUEST_URI} /gallery2/main\.php/random     
RewriteRule . /gallery2/random [R=301,L]

Another issue exists whereby the problem of these nested main.php/v/ links are recursive- I need to find a reg-ex to describe /main.php/[any number of /v/foo's]. Fun.

Also, http://www.benhall.com/gallery2/main.php/v/ with my re-write rules is broken, need to exclude it for Nothing after the /v/

Think I've got it

The “final” lines are as such:

#This fixes a /v/ with no trailing characters (don't think this would ever really happen)
RewriteCond %{REQUEST_URI} /gallery2/main\.php/v/$
RewriteRule . /gallery2/ [R=301,L]

#This one matches anything after /v/ up until the first forward slash (maybe):
RewriteCond %{THE_REQUEST} /gallery2/main\.php/v/([^/]*)

#Also match for old /f/'s
RewriteCond %{THE_REQUEST} /gallery2/main\.php/f/([^/]*)

#this one does NOT match the "test" gallery, so we can test things...
#RewriteCond %{REQUEST_URI} !/gallery2/main.php/v/test
RewriteRule . /gallery2/v/%1/ [R=301,L]
#I don't have download links, but I think this one may allow download links to work as well:
RewriteCond %{REQUEST_URI} /gallery2/main\.php/d/([^/]*/[^/])
RewriteRule . /gallery2/d/%1 [R=301,L]
RewriteCond %{REQUEST_URI} /gallery2/main\.php/random
RewriteRule . /gallery2/random [R=301,L]

Discussion of the issue is HERE.

gallery2_issues_mod_rewrite.1238575911.txt.gz · Last modified: 2009/04/01 04:51 by ben