[support] Clean URL support when parent web directory
    Michael Mansour 
    drupal at npgx.com.au
       
    Tue Apr 11 01:45:43 UTC 2006
    
    
  
Hi,
I'm very new to Drupal and have only started using it since yesterday.
I've done some trouble-shooting on this problem but can't resolve it.
I'm trying to use the "Clean URLs" option in "Administrator -> Settings" but 
it fails with the error:
It appears your host is not configured correctly for Clean URLs. Please 
check for ModRewrite support with your administrator.
I have Drupal installed off a parent website:
http://www.domain.com
where the drupal files actually exist, and _not_ through a subdirectory like:
http://www.domain.com/drupal
If I install Drupal into the subdirectory on the same server, the Clean URLs 
option works fine. If I install Drupal into the parent directory of the web 
server, drupal fails with the error above.
In my apache config, when I have the parent server setup, I have the 
following entry:
UseCanonicalName off
VirtualDocumentRoot /home/domain/public_html/%0
which allows me to have alias directories like:
/home/domain/public_html/www.domain.com
/home/domain/public_html/hostname1.domain.com
/home/domain/public_html/hostname2.domain.com
so when someone goes to "http://www.domain.com" apache maps them to the:
/home/domain/public_html/www.domain.com
directory, and when they visit "http://hostname1.domain.com", apache maps 
them to the:
/home/domain/public_html/hostname1.domain.com
directory and so on.
This is how I've set it up for Drupal, to reside under:
/home/domain/public_html/www.domain.com
I don't want a "drupal" subdirectory or anything, but still want to use 
Clean URLs.
What's the problem here?
Note also I have:
# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on
  # Modify the RewriteBase if you are using Drupal in a subdirectory and
  # the rewrite rules are not working properly.
  #RewriteBase /drupal
  # Rewrite old-style URLs of the form 'node.php?id=x'.
  #RewriteCond %{REQUEST_FILENAME} !-f
  #RewriteCond %{REQUEST_FILENAME} !-d
  #RewriteCond %{QUERY_STRING} ^id=([^&]+)$
  #RewriteRule node.php index.php?q=node/view/%1 [L]
  # Rewrite old-style URLs of the form 'module.php?mod=x'.
  #RewriteCond %{REQUEST_FILENAME} !-f
  #RewriteCond %{REQUEST_FILENAME} !-d
  #RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
  #RewriteRule module.php index.php?q=%1 [L]
  # Rewrite current-style URLs of the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
in my .htaccess file within the /home/domain/public_html/www.domain.com 
directory, and my settings for:
<Directory /home/domain/public_html>
Options Indexes IncludesNOEXEC FollowSymLinks
AllowOverride All
</Directory>
in my apache conf. I'm using apache 2.0.52.
Thanks for any help here.
Michael.
    
    
More information about the support
mailing list