Ok I've followed the directions from here: http://drupal.org/node/15365
It just doesn't work for the server I'm being hosted on... I have several issues which I am going to explain here...
my site path is: /www/example.com
The host Netfirms only allows well let me let them explain:
Interference with an .htaccess file
If you have implemented .htaccess on your site, it may be interfering with the web page you are trying to load into your browser. Please either remove the .htaccess file or double check the .htaccess configurations to ensure that it doesn't contain any errors. Currently Netfirms only supports .htaccess the following directives:
AuthType
ErrorDocument
RewriteEngine
Redirect
Options
IndexOptions
IndexIgnore *
I have two questions:
1. How do I work around this?
2. Why can't the drupal team just have this active instead of making it a complex, and infuriating issue?
Comments
1. I'm assuming that
1. I'm assuming that /www/example.com is your local path. What is you web path?
e.g.
www.example.com
www.example.com/drupal
www.example.com/folder2/drupal
2. Clean URL's are entirely dependant on how your host has Apache configured. Some of us will be lucky, and some of us will have to amend our .htaccess files
Barry
path.
My web path is example.com/blog/
or blog.example.com
I don't know if I'm looking
I don't know if I'm looking at this too simplistically, but having had a quick read of the support pages at Netfirms they seem to have support for clean URL's using mod_rewrite.
I had problems setting up clean URL's with my host (1and1.co.uk) until I set a value for RewriteBase. To try this you need to uncomment that part of the htaccess file and add your base directory:
# Modify the RewriteBase if you are using Drupal in a subdirectory and
# the rewrite rules are not working properly.
RewriteBase /blog
I hope this helps you.
Barry
1. You need the
1. You need the AllowOverride directive. Unfortunately, your host doesn't seem to support this.
2. It is active, on the condition your Apache configuration allows you to use an .htaccess file (for which you need the AllowOverride directive).
This is explained on http://drupal.org/node/15365:
I don't think there is a way to get clean url's working without the AllowOverride directive. Anyone?
Right
My host doesn't allow it because that command can open up a can of worms for hacking...
And my question is why can't Drupal have it the exact opposite, everything is clean urls, and the option to make it so google, etc doesn't cull the data?
Personally that makes more sense to me.
I wouldn't dream of second
I wouldn't dream of second guessing the Drupal devs; but my own thinking is that Clean URL's are dependent on your server config, so with the current Drupal set up at least it should work for most hosts. If it was set up for clean URL's by default and your server didn't support them you wouldn't be able to access the site to disable them. I think :-)
Barry
Think I found an answer...
http://drupal.org/node/49286
I got further, but still no prevail...
The requested URL /blog.cyberpawz.com/index.php was not found on this server
I know for a fact it exists, I'm looking straight at it...
Here is my htaccess file.
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
Order allow,deny
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
# PHP 4, Apache 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
# PHP 5, Apache 1 and 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1
# Various rewrite rules.
RewriteEngine on
# If your site can be accessed both with and without the prefix www. you
# can use one of the following settings to force user to use only one option:
#
# If you want the site to be accessed WITH the www. only, adapt and
# uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule .* http://www.example.com/ [L,R=301]
#
# If you want the site to be accessed only WITHOUT the www. prefix, adapt
# and uncomment the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule .* http://example.com/ [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory and
# the rewrite rules are not working properly.
RewriteBase /blog.cyberpawz.com
# 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]
# $Id: .htaccess,v 1.81 2007/01/09 09:27:10 dries Exp $
Can you change RewriteBase
Can you change
RewriteBase /blog.cyberpawz.com
to
RewriteBase /blog
Then try accessing the site via www.cyberpawz.com/blog
The requested URL
The requested URL /myblog/index.php was not found on this server.
ok, if I type in, cyberpawz.com/myblog/ it works fine...
If I type in blog.cyberpawz.com it doesn't... what is going on?
Also, after running the clean URL test, the Enable button doesn't highlight.
Ok, lets try getting clean
Ok, lets try getting clean URL's working first. If drupal is installed in a folder called myblog, in your htaccess file you need:
RewriteBase /myblog
Already did it...
Still comes up where the enable button isn't highlighted, or undimmed, this is getting annoying. What should be a simple solution is coming out to be a problematic mess.
Bump.
Bump.
I hate giving up on things,
I hate giving up on things, but having had a surf around both here and on the wider web I've found plenty of reports of issues with Netfirms and clean URL's, and that's not just with Drupal.
Maybe it's time to change hosts?
Not an option...
I've seen people on this forum use Nethosts successfully, yet they don't say how... and right now I'm getting a little frustrated.
Switching hosts right now just to get this working isn't an option, I'm not switching hosts just because one program doesn't work 100%, the issue though is that Drupal depends heavily on overwriting or customizing a .htaccess to make the software work.
I've used plenty of web based programs that don't even need the .htaccess to be customized to make their software work, I'd use them if I could, but Drupal seems like the best idea for what I need. What frustrates me is that the option of Clean URLs can't be just coded straight into the "program" itself, for I see no reason why the necessity of a .htaccess in the first place myself personally for this functionality.
Frustrating or not, that's
Frustrating or not, that's the way it works :-)
Have you tried the advice in this post: http://drupal.org/node/49286
It seems to have been successful.
Forcing Clean URLs to be enabled with a little old fashioned SQL
I just got a Netfirms account today to evaluate suitability for hosting Drupal sites and hit the same problems. I changed the RewriteBase to the subdirectory in use and then ran the clean URL test successfully. But, just as you had encountered, the enable radio button wasn't being highlighted. My solution was to bypass Drupal's safety measures and go into the database. Here's how I did it:
UPDATE `variable` SET `value` = 's:1:"1";' WHERE `name` = 'clean_url' LIMIT 1 ;Cheers,
Alex Matan
Bringing order to chaos and chaos to order since 1996.
Neat. Thanks for the heads
Neat.
Thanks for the heads up.
Similar problem with netfirms here too
I have also made the changes requested in the Clean URL's handbook as far as I know.
Drupal 5.1 is in the root directory.
When I runt the clean URL test I do not get a blank page - instead the clean url page reappears but the radio buttons are still grayed out.
What can I ask netfirms to do? If anything...
The reason for this is due to a problem with Safari users downloading attachments. The downloaded files take on the site name instead of retaining their regular file names.
I am currently using the Private file system. If I change to public will all my attachments become inaccessible?
I took the plunge and
I took the plunge and changed to Public file system. This fixed my Safari naming problem, but clean URL's are still not available.
Lunarpages problems with clean URLs?
I am having similar problems turning on clean URLs on my Lunarpages-hosted site, and wondering if anyone has run into problems or fixes related to this host in particular.
I have followed the directions at http://drupal.org/node/15365 but cannot run a successful clean URL test.
My site path is: /www/example.com
However, this is a subdomain of my primary account; I've tried changing the rewrite base but nothing is different.
My host tells me mod_rewrite is on, but no rewrite changes I make in .htaccess seem to have any effect.
Because I'm not seeing any rewrite changes take effect when I change .htaccess, it seems like I'm missing something fairly basic. The only error Drupal gives me is: "Unable to determine your web server type and version. Drupal might not work properly."
1. Is anyone aware of problems with clean URLs specific to Lunarpages?
2. Any thoughts on working through this clean URL issue?
I had problems on Lunarpages, but fixed it
In order to fix it, I had to go to /sites/default/settings.php, uncomment $base_url, and set it to my domain name. After that, clean urls worked.