I've exhausted over a dozen "fixes" that haven't worked... frustrated doesn't even begin to describe how I'm currently feeling :)

Alright this is a LAMP environment, running Ubuntu. I'm working with Drupal 7.20.

Here's what my website .conf file contains:

<Directory /var/www/html/usersites/website>
   RewriteEngine on
   RewriteBase /website
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

AllowOverride All
AccessFileName .htaccess

And the .htaccess:

<Directory /var/www/html/usersites/website/>
   RewriteEngine on
   RewriteBase /website
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

I then removed all the additional directory code, uncommented the line for the "rewrite base", and changed the line to read: RewriteBase /var/www/html/usersites/website

I've been on this thread and made all changes, none of which worked.

I've run the apache command: apache2ctl -M to check to see if the rewrite module is loaded (which it is).

The default config file has allow All (changed from None). The specific site .conf file also says "all".

I've tried to navigate directly to website.com/admin/config/search/clean-urls which leads my to a Server Error page.

Any thoughts/ideas/suggestions? I've reinstalled Drupal half a dozen times as well, hoping that will magically make them enable. Of course that never happens :)

Comments

vm’s picture

if .conf is set to /var/www/html/usersites/website

IIRC your rewritebase only needs to be /website

after changing makes sure to clear browser cache, dbcache and restart apache.

cfox612’s picture

Changed the rewrite base in the .htaccess to /website, restarted apache (apache2ctl restart), and cleared cache. Same result (button the "run clean url test" which always fails).

vm’s picture

which version of Ubuntu? I'm running 11.10 without issue and use clean urls across 10 sites. When I set mine up I used: https://help.ubuntu.com/community/Drupal

However I'm only a single subfolder deep inside www. ie: /var/www/MYSITEHERE

Looking at my .htaccess files I note that I don't have a rewritebase set in any of the site. The line was left commented out.

cfox612’s picture

I'm reinstalling again (tried to "force" it by altering the "variable" db table, needless to say that didn't end well).

Ubuntu - 10.04

I'm leaving everything .htaccess wise as is when I reinstall. I am a few levels deep in my testing, as there are multiple sites running off this server (this would be the first drupal install if I can get the clean URL's to work).

I've been manually installing Drupal (setting up a DB in webmin, then FTP'ing the Drupal files onto the server). Should I try using the command prompt?

vm’s picture

I've not used the command prompt to install drupal. Not betting that would have any bearing on clean urls. My first thought is that your httpd.conf file looks very different than I remember mine. Matter of fact IIRC, my httpd.conf file is empty because I'm using specific .conf files for each site in the /sites-available/ folder. However your, httpd.conf contents still seems different than my site specific.conf contents. I'm currently away from my ubuntu instance though and can't check my files.

cfox612’s picture

There is a default.conf file:

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

    	Alias "/ping.php" "/var/www/html/ping.php"

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride All
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

We also have separate conf files for each website. When I said "conf" on the original post, that would be the specific site conf. Sorry if that was a bit misleading, too much time spent in clearn urland today!

cfox612’s picture

Alright just re-installed 7.20 in the following directory: /var/www/html/usersites/dev

My previous response to VM is the default conf file, and here is the contents of the site specific conf file (dev.conf):

<Directory /var/www/html/usersites/dev>
   RewriteEngine on
   RewriteBase /dev
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

AllowOverride All
AccessFileName .htaccess

Here's the URL I get when I try to access clean URL's: http://website.com/html/usersites/dev/#overlay=%3Fq%3Dadmin/config/search/clean-urls

Clean URL's still failing.


Update - I am working on a mac, although I don't know if that would be a reason why this wouldn't work. I'm logging into my VM to do a fresh install from windows to see if that makes any difference (I'm betting no).

NewZeal’s picture

Only have Rewrite commands once only. Remove them from your .conf file and have them only in .htaccess.

vm’s picture

perhaps: http://pingv.com/blog/lucidly-drupal-setting-up-ubuntu-10-4-lucid-lamp-s... will aid as it's 10.04 specific. I notice their site specific .conf file is a bit different than the one you are utilizing.

cfox612’s picture

Finally it works! And only 6 straight hours of time devoted. I guess that's not too bad in the grand scheme of things.

Okay my solution:

1. I added the following to my default.conf file:

<Directory /var/www/html/usersites/dev>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
     </Directory>

2. Uploaded the .htaccess through my windows VM
3. For my website specific conf file:

<Directory /var/www/html/usersites/dev>
   RewriteEngine on
   RewriteBase /dev
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

AllowOverride All
AccessFileName .htaccess

4. Restarted the apache server (sudo apache2 restart)
5. Cleared the cache
6. Look of shock on my face as I see the coveted checkbox!