I have spent about four hours trying to get clean URLs to work and it is really doing my head in. I am very new to Drupal and after hearing all the wonderful things about it, this is disappointing. Here is my setup:
I have XAMPP on windows 7
, and installed Drupal 7.22
into a folder c:\code\drupal
In my httpd.conf
, I have Alias /code "C:\code"
This works because I have other folders inside c:\code
functioning perfectly well
The drupal .htaccess
file works because if I add junk line in there I get a server error
In the .htaccess
I tried all combinations of RewriteBase
I could think of:
RewriteBase /
RewriteBase /code
RewriteBase /code/drupal
RewriteBase /drupal
mod_rewrite
works because I already have other installations which uses it correctly.
I also tried going directly to http://localhost/code/drupal/admin/config/search/clean-urls
but that gives me a 404 error
Every time I go back to admin > config > clean URLS
, it says the test failed. I know this is apparently some error from my side, but its getting very frustrating. Can anyone see what I am missing here? :(
drupal.stackexchange.com
as well
but did not get any answers. I don't know if you still need help, but I spent good amount of time trying to figure that out myself a while ago and couldn't find the right answer. After doing a lot of trial and error, I made it work. I don't know exactly how your setup is but here is how mine is, as well as my solution on drupal.org.
(Here is a copy of a part of my original question and my complete solution)
Hi,
I have a Drupal multisite setup and I am trying to make the Clean URLs work but cannot seem to be able to write the conditions and rules properly. I have found many answers but none of them worked.
My .htaccess file is being read without problem and the rules are being used (I tried setting the rewrite rule to the full address but it was only giving me the home page and I couldn't go anywhere else).
Here is how it is setup:
DEV: URL1 www.site1.domain.fr/dev
URL2 www.site2.site1.domain.fr/devPROD URL1 www.site1.domain.fr
URL2 www.site2.site1.domain.frOn the server: /dev (one drupal install)
/prod (another drupal install but same content)My multisite is setup as this:
/sites/site1.domain.fr
/sites/site2.site1.domain.fr (same thing for dev and for prod)Inside sites.php:
$sites = array( 'www.site1.domain.fr' => 'site1.domain.fr', 'www.site2.site1.domain.fr' => 'site2.site1.domain.fr', )
Solution
I was finally able to fix it by trial and error. In case any of you encounter the same problem, here is how I fixed it:
DEV:
RewriteBase /dev
# Main site
RewriteCond %{HTTP_HOST} ^site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site1.domain.fr/dev/index.php?q=$1 [L,QSA]
# Site 2
RewriteCond %{HTTP_HOST} ^site2.site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site2.site1.domain.fr/dev/index.php?q=$1 [L,QSA]
PROD:
RewriteBase /
# Main site
RewriteCond %{HTTP_HOST} ^site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site1.domain.fr/index.php?q=$1 [L,QSA]
# Site 2
RewriteCond %{HTTP_HOST} ^site2.site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site2.site1.domain.fr/index.php?q=$1 [L,QSA]