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]

gallery2_issues_mod_rewrite.1238575819.txt.gz · Last modified: 2009/04/01 04:50 by ben