Submitted by Matt on
Bonjour,
Je n'arrive pas à mettre en production un site Drupal 5 sur un serveur mutualisé Oléane (Orange).
Je n'ai pas installer Drupal sur le serveur, j'ai juste copié ma base sur celle de production et j'ai transférer les fichiers sources.
J'ai réussi à le faire marcher à moitié. L'URL rewriting ne fonctionne pas je suis obligé de mettre "q?=" dans l'URL.
Voici mon .htacess :
<FilesMatch ".(php|php3|php4|php5|phtml)$">
SetHandler x-httpd-php5-insecure
</FilesMatch>
# Various rewrite rules.
RewriteEngine on
# 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/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example.com$ [NC]
# RewriteRule ^(.)$ http://www.example.com/$1 [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 and adapt the following:
# RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
# RewriteRule ^(.)$ http://example.com/$1 [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 /
# 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]
Sinon, avant en développement j'avais placé le site dans un répertoire du style "monsite" donc j'ai dans plusieurs contenu ce répertoire dans les URL. Dans beaucoup de contenu éditer avec Tiny MCE comme dans les URL des liens ou des images.
Comment pourrais-je remplacer facilement ces URL ?
J'ai essayé en modifiant l'export de ma base de données mais ça n'a pas fonctionné.
Merci
J'ai réussi à faire
Permalien Soumis par Matt le 9 Janvier, 2009 - 09:13
J'ai réussi à faire fonctionner l'URL rewriting en décommentant la ligne "RewriteBase /" du .htaccess.
Par contre tous les fichiers du répertoire files/ ne sont pas accessibles. J'ai enlever le .htaccess mais rien n'y fait. J'ai fait un test sur un serveur mutualisé de OVH avec les mêmes sources et .htaccess et elles passent sans problème.
Enfin, ça fonctionne
Permalien Soumis par Matt le 12 Janvier, 2009 - 09:56
Enfin, ça fonctionne parfaitement maintenant.
Voici le .htaccess modifié :
<FilesMatch ".(php|php3|php4|php5|phtml)$">
SetHandler x-httpd-php5-insecure
SetEnv REGISTER_GLOBALS 0
</FilesMatch>
# Various rewrite rules.
RewriteEngine on
# 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/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example.com$ [NC]
# RewriteRule ^(.)$ http://www.example.com/$1 [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 and adapt the following:
# RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
# RewriteRule ^(.)$ http://example.com/$1 [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 /
# 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]
Pour les URL j'ai du faire sur l'export de la BDD des CTRL+H pour supprimer le nom du répertoire.