I have a multi-site drupal + multisite embedded gallery2 install. Everything has been working great until I decided to change my drupal multisite install to a sub-directory install vs a sub-domain type install.

I think this has to be related to the redirect rules because when I turn off the gallery2 clean url mod everything works fine. I have only a very vague understanding of how the redirect is working and got it working the first time by simply following the instructions =) I hope someone can help me out with this one.

the installation is colorgenetics.info/feline/gallery and colorgenetics.info/canine/gallery With the standalone gallery2 installs at colorgenetics.info/feline_gallery and colorgenetics.info/canine_gallery

the redirect rules are as follows to get the drupal install to work in the sub-directory this was necessary.
just for the feline site
Code:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/feline/(.*)$
RewriteRule ^(.*)$ /feline/index.php?q=$1 [L,QSA]

for the gallery2 installation just the feline site since the others should be similar
Code:

RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} gallery\_remote2\.php
    RewriteCond %{REQUEST_URI} !/gallery$
    RewriteRule .   -   [L]

    RewriteCond %{THE_REQUEST} /d/([0-9]+)\-([0-9]+)/([^/?]+)(\?.|\ .)
    RewriteCond %{REQUEST_URI} !/gallery$
    RewriteRule .   /feline_gallery/main.php?g2_view=core.DownloadItem&g2_itemId=%1&g2_serialNumber=%2&g2_fileName=%3   [QSA,L]
    RewriteCond %{THE_REQUEST} /feline/gallery/v/([^?]+)(\?.|\ .)
    RewriteCond %{REQUEST_URI} !/gallery$
    RewriteRule .   /gallery?g2_path=%1   [QSA,L]

And the .htaccess file from the feline_gallery folder
Code:

# BEGIN Url Rewrite section
# (Automatically generated.  Do not edit this section)
<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /feline_gallery/

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} gallery\_remote2\.php
    RewriteCond %{REQUEST_URI} !/feline_gallery/main\.php$
    RewriteRule .   -   [L]

    RewriteCond %{THE_REQUEST} /feline_gallery/d/([0-9]+)\-([0-9]+)/([^/?]+)(\?.|\ .)
    RewriteCond %{REQUEST_URI} !/feline_gallery/main\.php$
    RewriteRule .   /feline_gallery/main.php?g2_view=core.DownloadItem&g2_itemId=%1&g2_serialNumber=%2&g2_fileName=%3   [QSA,L]
    RewriteCond %{THE_REQUEST} /feline_gallery/gallery/v/([^?]+)(\?.|\ .)
    RewriteCond %{REQUEST_URI} !/feline_gallery/main\.php$
    RewriteRule .   /feline_gallery/main.php?g2_path=%1   [QSA,L]
</IfModule>

# END Url Rewrite section

I have turned off the gallery2 rewrite mod but I would rather not keep it like this as that will of course break any links that are out there.

When the redirect enabled in gallery2 I can see the page at colorgenetics.info/feline/gallery but when I click on an album instead of going to the album the clean url link will show in the address bar but page that shows is the gallery home page. For example the url will show colorgenetics.info/feline/gallery/v/album but the page shown will be colorgenetics.info/feline/gallery If i try to go to a picture page directly I get a page not found error.

Thanks in advance for the help

Comments

alforddm’s picture

This has been resolved. The trick was to completely uninstall the url rewrite plugins in each of the gallery2 installations then reinstall everything from scratch. I had tried reconfiguring them but that doesn't worked. It wasn't necessary to uninstall the drupal gallery plugin just to go through the configuration steps again. Many thanks to Dayo over at the gallery forums for the suggestion.

alforddm’s picture

Well this isn't as resolved as I thought. Although now all the gallery clean urls work inside drupal, my main site is getting redirected to one of the sub-sites.

The code that is causing the problem is the ReWriteBase /feline/. However, if I try to remove this line of code the clean urls stop working. I've also tried placing the below code at the top and bottom of my .htaccess file but the result is either the main site is redirected to /feline/ or the clean urls stop working in the embedded gallery.

RewriteBase /feline/
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} gallery\_remote2\.php
    RewriteCond %{REQUEST_URI} !/feline/index\.php$
    RewriteRule .   -   [L]

    RewriteCond %{THE_REQUEST} /feline/d/([0-9]+)\-([0-9]+)/([^/?]+)(\?.|\ .)
    RewriteCond %{REQUEST_URI} !/feline/index\.php$
    RewriteRule .   /feline_gallery/main.php?g2_view=core.DownloadItem&g2_itemId=%1&g2_serialNumber=%2&g2_fileName=%3   [QSA,L]
    RewriteCond %{THE_REQUEST} /feline/gallery/v/([^?]+)(\?.|\ .)
    RewriteCond %{REQUEST_URI} !/feline/index\.php$
    RewriteRule .   /feline/index.php?q=gallery&g2_path=%1   [QSA,L]
alforddm’s picture

Finally! I think everything is working now. I had to go in to the setting.php files for the drupal sites and set the baseurl variable. After I did this I was able to remove the RewriteBase directive from the .htaccess file and walla! everything worked (well after I reinstalled the gallery plugin for one of the sites multiple times. I have no idea what is up with that one but I had to do the same thing the other day to get the clean urls working again *shrug*).