I was moving my site from a subdirectory to the main directory. I had my site working fine in the subdirectory...clean urls and everything...but when I decided to move it to the main directory everything went wrong. I changed the $base_url in the setting.php. But my urls didn't work.....so I turned off clean urls but now I can't turn it back on...the site works ok but when I try to click the "Run the clean URL test" button my browser can't find the page. Then I found out that I didn't have a .htaccess file and so I put that back.....but nothing changed. My server does support clean urls since it worked before and I didn't have to change anything on the server I just clicked the "Run the clean URL test" button and it worked.

I am on a public server so I can't change the settings or anything....
Please help I can't figuere out what I have to change.

Thanx,
Danielle

Comments

heikon’s picture

Have you changed your Drupal's .htaccess file?
(I mean edited it..)

mdixoncm’s picture

If you have checked all the obvious stuff - .htaccess file in the right place, the name is correct (sometimes the initial . can be dropped by FTP clients etc) then try changing

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

to

RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]

It should be near the end about the second to last line or so ...

Like books? Check out booktribes the new (Drupal based) community for book lovers
from Computerminds

d.deman’s picture

I did change it and now I tried to change it back...but it still doens't work...maybe I did something wrong

my htaccess file:

#
# Apache/PHP/Drupal settings:
#

# Protect files and directories from prying eyes.
<FilesMatch "(\.(engine|inc|install|module|sh|.*sql|theme|tpl(\.php)?|xtmpl)|code-style\.pl|Entries.*|Repository|Root)$">
  Order deny,allow
  Deny from all
</FilesMatch>

# Set some options.
Options -Indexes
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
<IfModule mod_php4.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
</IfModule>

# PHP 4, Apache 2
<IfModule sapi_apache2.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
</IfModule>

# PHP 5, Apache 1 and 2
<IfModule mod_php5.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
</IfModule>

# Reduce the time dynamically generated pages are cache-able.
<IfModule mod_expires.c>
  ExpiresByType text/html A1
</IfModule>

# Various rewrite rules.
<IfModule mod_rewrite.c>
  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} !^www\.example\.com$ [NC]
  # RewriteRule .* http://www.example.com/ [L,R=301]
  #
  # If you want the site to be accessed only WITHOUT the www. , adapt and uncomment the following:
  # RewriteCond %{HTTP_HOST} !^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 /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>

# $Id: .htaccess,v 1.73 2006/04/14 09:08:26 killes Exp $

I changed what you said....still the same

d.deman’s picture

I just had to delete my temporary internet files and it worked....thanx so much I would have never figuered out on my own that it was just a slash I neaded to change.

mdixoncm’s picture

No worries, I only know myself cos it happened on one of our sites not too long ago :) - nearly turned my hair grey trying to work out what was going on ...

Like books? Check out booktribes the new (Drupal based) community for book lovers
from Computerminds