[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