Page 1 of 1

redirection?

Posted: Sun Jul 08, 2007 10:45 am
by firfelin
Bonjour,

J'ai un probleme avec la redirection, htaccess et tous ces trucs ésotériques... ;)

J'ai installé cmsmadesimple dans un sous-répertoire (http://www.magdalenagerber.ch/mg) et maintenant qu'il est terminé, j'aimerais que l'adresse http://www.magdalenagerber.ch redirige directement sur http://www.magdalenagerber.ch/mg

Comment faire?

Merci d'avance pour votre aide

Re: redirection?

Posted: Sun Jul 08, 2007 6:28 pm
by Pierre M.
Bonsoir,

si vous voulez que /mg reste présent (visible) dans les URLs, mettez un petit script /index.php (à la racine) avec un redirect, comme celui qui installe CMSms (il redirige vers /install/install.php).

Si, comme je le suppose, vous souhaitez des URLs sans /mg, je suggère de remplacer votre règle de réécriture :

Code: Select all

RewriteRule ^(.+)$ index.php?page=$1 [QSA]
par

Code: Select all

RewriteRule ^(.+)$ mg/index.php?page=$1 [QSA]
avec légère adaptation si nécessaire.

Pierre M.

Re: redirection?

Posted: Sun Jul 08, 2007 7:09 pm
by firfelin
Bonsoir, et merci pour votre aide

L'idéal serait effectivement que le /mg disparaisse, mais ma préoccupation première et que les internautes qui arrivent sur magdalenagerber.ch voient du contenu...
J'ai donc suivi votre première suggestion et mis un index.php avec ceci dedans:

Code: Select all

<?php
header(
 "Status: 301 Moved Permanently", false, 301);
header(
 "Location: http://www.magdalenagerber.ch/mg");
exit();
?>
Ce n'est pas l'idéal, mais je ne comprends pas grand chose à ces histoire de .htaccess

Pour l'instant il y a un .htaccess à la racine avec ça:
Le site est hébergé chez infomaniak, et tourne avec cms multilangue mle 1.0.2 build 4

Code: Select all

################################## Errors ######################################
#ErrorDocument 301 /error/301-moved_permanently.html
#ErrorDocument 302 /error/302-moved_temporarily.html
#ErrorDocument 303 /error/303-see_other.html
#ErrorDocument 400 /error/400-bad_request.html
ErrorDocument 401 /error/401-authorization_required.html
#ErrorDocument 402 /error/402-payment_required.html
ErrorDocument 403 /error/403-forbidden.html
ErrorDocument 404 /error/404-not_found.html
#ErrorDocument 405 /error/405-method_not_allowed.html
#ErrorDocument 406 /error/406-not_acceptable.html
#ErrorDocument 407 /error/407-proxy_authentication_required.html
ErrorDocument 408 /error/408-request_timed_out.html
#ErrorDocument 409 /error/409-conflicting_request.html
#ErrorDocument 410 /error/410-gone.html
#ErrorDocument 411 /error/411-content_length_required.html
#ErrorDocument 412 /error/412-precondition_failed.html
#ErrorDocument 413 /error/413-request_entity_too_long.html
#ErrorDocument 414 /error/414-request_uri_too_long.html
#ErrorDocument 415 /error/415-unsupported_media_type.html
ErrorDocument 500 /error/500-internal_server_error.html
#ErrorDocument 501 /error/501-not_implemented.html
#ErrorDocument 502 /error/502-bad_gateway.html
ErrorDocument 503 /error/503-service_unavailable.html
#ErrorDocument 504 /error/504-gateway_timeout.html
#ErrorDocument 505 /error/505-http_version_not_supported.html
################################################################################

######################### Howto map /~user to /user ############################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)$ http://%{HTTP_HOST}/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)(.+)$ /~$1/$2
################################################################################

###################### Howto map /users/user to /users/user ####################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/users/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^users/([^/]+)$ http://%{HTTP_HOST}/users/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/users/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^users/([^/]+)(.+)$ /~$1/$2
################################################################################
J'ai essayé de rajouter

Code: Select all

RewriteRule ^(.+)$ mg/index.php?page=$1 [QSA]
sans succès...

Vous avez pu voir sur le post en anglais que la solution proposée par cyberman n'a pas fonctionné du tout.

Re: redirection?

Posted: Sun Jul 08, 2007 7:13 pm
by firfelin
l'autre solution ne serait-elle pas de migrer tout le site de /mg vers la racine?
Est-ce facilement faisable sans trop de risque de perdre des données?

Re: redirection?

Posted: Sun Jul 08, 2007 7:30 pm
by jce76350
Re,

Pour faire simple tu fais un fichier index.html à la racine

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<__html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Magdalena Gerber</title>
<meta http-equiv="Refresh" content="0;URL=/mg/" />
</head>
</__body>
<p> ...</p> 
<__body>
</__html>

Re: redirection?

Posted: Sun Jul 08, 2007 7:50 pm
by firfelin
merci, mais j'ai lu que les redirection à base de balise meta étaient à proscrire pour des questions de référencement

Re: redirection?

Posted: Sun Jul 08, 2007 8:31 pm
by jce76350
mais j'ai lu que les redirection à base de balise meta étaient à proscrire pour des questions de référencement
J'ai de nombreux sites qui sont basés sur ce principe et pas de probleme
Le robot indexe les vraies pages le reste il s'en ....

Re: redirection?

Posted: Mon Jul 09, 2007 9:04 pm
by Pierre M.
Bonsoir,
firfelin wrote: J'ai essayé de rajouter

Code: Select all

RewriteRule ^(.+)$ mg/index.php?page=$1 [QSA]
sans succès...

Vous avez pu voir sur le post en anglais que la solution proposée par cyberman n'a pas fonctionné du tout.
Je pense que la solution de Cyberman est bonne mais que votre fichier .htaccess existant est bien pollué. Or l'ordre des lignes importe dans ces fichiers. Donc ajouter la règle de Cyberman ou la mienne vers la fin les rend inefficaces.
Voyez ce fil anglophone similaire pour une solution.
firfelin wrote: l'autre solution ne serait-elle pas de migrer tout le site de /mg vers la racine?
Est-ce facilement faisable sans trop de risque de perdre des données?
C'est possible, c'est faisable aisément (relancer l'install pour recréer un nouveau config.php, mais sans créer les tables/objets dans la base de données, qu'on sauvegarde auparavant, bien sûr).
Mais c'est perdre en flexibilité (seul CMSms peut fonctionner sur votre hébergement) voire en sécurité (le .htaccess cache le vrai nom des dossiers).

Je vous suggère (comme à Tom dans le lien ci-dessus) une simple adaptation du .htaccess fourni à la racine.

Pierre M.

Re: redirection?

Posted: Sat Jul 14, 2007 9:23 am
by firfelin
désolé de la réponse tardive, je suis parti quelques jours, et merci de votre aide.

Je vais me renseigner sur les htaccess et essayer de modifier celui-ci (qui s'est créé de lui-même à l'installation, ou est rajouté par infomaniak?) en suivant vos conseils.