Ok so I go to administration> configuration> clean urls> run the clean url test and I click on the link to run the test, the little internet whirlygig thingy spins around and around then stops, and that's it, it doesn't go any further, and I don't have clean urls on my site. So i click on the online handbook link, and it says that I am supposed to have an option to Check or uncheck the Enable clean URLs checkbox
Click "Save configuration" but I have no clean url checkbox. So my question becomes is it even possible to actually have clean urls in Drupal? I have tried renaming my .htaccess.txt file to .htaccess but all I got for my effort was a 500 error, which of course I googled but really couldn't find any good information on after which I erased all the data on the .htaccess file but left it in place, and went back to the clean url test again with the same result. Where is my option to enable or disable clean urls? I mean you need clean urls enabled or you can forget being found by search engines, and it makes the whole idea of having a website seem pointless. Any help would be appreciated. And please if you try to help don't be vague, I need actual detailed information on how to make this work
Thanks
Tim
Comments
.htaccess.txt ??
" I have tried renaming my .htaccess.txt file to .htaccess "...
This is a red flag.
There is no such file as .htaccess.txt, and if the .htaccess filename has been mangled, there's really no telling what else might be wrong.
At any rate:
IF you are running Apache, then .htaccess instructs Apache on the handling of paths. One of the instructions tells Apache to convert paths to "?q=/path/" arguments. This requires that Apache be properly configured to read the file and obey the directives, and that the required Apache modules be present and activated (especially mod_rewrite).
If your webserver isn't properly configured, it may not read .htaccess at all, or may not allow the directives it contains. In that situation, no, Drupal will not be able to serve clean URLs.
This is not, strictly speaking, a Drupal problem. It is a matter of having a webserver that meets Drupal's requirements.
Drupal is smart enough to perform checks and, if URL rewiring fails, it won't allow itself to be configured for clean URLs. The fix is in the Apache configuration (or whatever other server you are running).
.htaccess.txt
I have tried renaming my .htaccess.txt file to .htaccess "...
This is a red flag.
There is no such file as .htaccess.txt
That is just weird I downloaded a fresh copy of Drupal 7.4, extracted it and uploaded the .htaccess file that was in it to my server, and now it all works fine, and I have my clean urls, as far as there not being a file named .htaccess on my server I assure you there is and this is the text in it:
#
# 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.
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force simple error message for requests for non-existent favicon.ico.
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
# Set the default handler.
DirectoryIndex index.php index.html index.htm
# Override PHP settings that cannot be changed at runtime. See
# sites/default/default.settings.php and drupal_initialize_variables() in
# includes/bootstrap.inc for settings that can be changed at runtime.
# PHP 5, Apache 1 and 2.
php_flag magic_quotes_gpc off
php_flag magic_quotes_sybase off
php_flag register_globals off
php_flag session.auto_start off
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_flag mbstring.encoding_translation off
# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not allow PHP scripts to be cached unless they explicitly send cache
# headers themselves. Otherwise all scripts would have to overwrite the
# headers set by mod_expires if they want another caching behavior. This may
# fail if an error occurs early in the bootstrap process, and it may cause
# problems if a non-Drupal PHP file is installed in a subdirectory.
ExpiresActive Off
# Various rewrite rules.
RewriteEngine on
# Block access to "hidden" directories whose names begin with a period. This
# includes directories used by version control systems such as Subversion or
# Git to store control files. Files whose names begin with a period, as well
# as the control files used by CVS, are protected by the FilesMatch directive
# above.
#
# NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is
# not possible to block access to entire directories from .htaccess, because
# is not allowed here.
#
# If you do not have mod_rewrite installed, you should remove these
# directories from your webroot or otherwise protect them from being
# downloaded.
RewriteRule "(^|/)\." - [F]
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment the following:
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
# RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase /
# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
# Serve gzip compressed CSS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
# Serve gzip compressed JS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
# Serve correct encoding type.
Header append Content-Encoding gzip
# Force proxies to cache gzipped & non-gzipped css/js files separately.
Header append Vary Accept-Encoding
But there was no .htaccess.txt file in the fresh copy of Drupal I downloaded, I don't get it. Thanks for the input though because it was what inspired me to download the new copy of Drupal and I was able to get the new file because of it.
Thanks
Tim