OVH Community, votre nouvel espace communautaire.

URGENT: Redirrection .htaccess


phil
10/07/2014, 17h19
En même temps, regarde la condition que tu appliques :
RewriteCond %{SERVER_PORT} 80
Tu dois écrire une deuxième règle avec pour condition du rewrite un https ou le port 443. A toi de voir. Moi je trouve les confs apache dégueu et c'est pour ça que je fais tout avec nginx.

Philippe

caplangues
10/07/2014, 14h49
Enfin, ça fonctionne!!!
Un grand merci à toi.

J'ai juste un dernier petit truc concernant mon htaccess il fonctionne, mais uniquement si l'utilisateur saisi l'adresse en http (si on saisi https, ça bloque, ce n'est as trop gênant, mais si il y a moyen de rediriger dans les 2 cas, ce serait top)

Mon htaccess:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} /crm/
RewriteRule ^(.*)$ https://www.caplangues.pro/crm/htdocs/$1 [R,L]

phil
10/07/2014, 13h14
AllowOverride autorise l'utilisation de .htaccess.

Il faut que tu édites avec vi, mais que tu passes le AllowOveride All là où tu en as besoin , c.a.d dans la bonne section

Sinon, de manière générale, va lire de vrais tutos apache sur comment ça marche etc. Apache c'est déjà assez pénible comme ça à configurer quand tu comprends le fonctionnement (c'est pour ça que je suis passé à nginx).

Aussi, encore une fois, utiliser de la conf dans les .htaccess n'est pas a priori une bonne solution sur un serveur dédié. C'est bien sur un mutualisé, mais sur un dédié mieux vaut passer la conf directement dans les fichiers de confs apache !

Philippe

caplangues
10/07/2014, 12h49
J'ai ouvert le fichier avec l'éditeur vi, il y a beaucoup de ligne avec AllowOvverride None, dois-je toutes les modifier ou Est-ce celle qui correspond à une rubrique particulière? (le fichier est horriblement long!!!)
J'ai au moins une 20aine de AllowOverride dans le fichier et je ne suis pas arrivé à la fin du fichier (il semble interminable).

La bonne nouvelle, c'est que j'ai au moins l'impression d'avancer depuis ce matin.
Merci, sans toi je serai en train de ramer dur (j'attaquerai probablement la falaise, lol)

caplangues
10/07/2014, 11h43
J'ai suivi ton tuto à la lettre, il y a juste à la fin où je suis bloqué.
Type in the following command:
grep -i AllowOverride /etc/httpd/conf/httpd.conf

This will output:
[root@server ~]# grep -i AllowOverride /etc/httpd/conf/httpd.conf
AllowOverride None

Jusqu'ici, j'ai exactement ce qui est dans le tuto!!!

You need to replace None with All if it is not already All. (Mon problème est ici, comment modifier le none en All, avec une commande vi en modifinat le fichier httpd.conf?)


Donc si j'ai bien compris, mon problème est une histoire de permission

phil
10/07/2014, 11h14
Ça change tout. Tu as un bon tuto pour centos ici : http://www.ewhathow.com/2013/09/how-...ite-on-apache/

Philippe

caplangues
10/07/2014, 10h57
Autant pour moi, j'ai confondu les infos du serveur mutualisé avec ceux du dédié.
Le dédié est bien sous plesk 12 Centos 6.5.

Et oui, il semble que ce soit httpd car (d'après le tuto que j'ai suivi) pour installer apache l'instruction est yum --enablerepo=remi,remi-php55 install httpd php php-common

phil
10/07/2014, 10h47
attends, au début tu as dit que tu étais avec "Debian 7 + ISPConfig" !!
CentOS, heu je connais mal. Déjà je crois que le répertoire d'apache est httpd ...

caplangues
10/07/2014, 10h42
Cpanel semble différents des autres (plus cher aussi) peut-il se substituer et tout gérer à son niveau ou est-ce comme les autres panels un outil d'aide à l'administration parmi tant d'autres?

caplangues
10/07/2014, 10h27
Salut et merci pour ta réponse.
Le problème, c'est qu'aucune des instructions données ne fonctionne.
Lorsque je saisi ls /etc/apache2/mods-enabled/rewrite.load -alh sous putty, j'obtiens:


ls: impossible d'accéder à /etc/apache2/mods-enabled/rewrite.load: Aucun fichier ou dossier de ce type.
Il semblerait qu'apache ne soit pas installer dans ce répertoire.

Pourquoi? Mystère.

Pour info, j'ai l'installation par défaut d'OVH Plesk 12 Centos 6.5, la seule modif que j'ai faite est celle-ci:
http://www.if-not-true-then-false.co...-red-hat-rhel/

J'ai suivi les commandes pour Centos 6 à la lettre (sans rencontrer de problème à priori) et je suis désormais en php 5.5 (plesk et centos me voient bien en php 5.5)

Le seule chose qui ne fonctionne pas, c'est la redirection via htaccess (mais sans mod-rewrite actif, c'est normal).
Le hic, c'est que je ne le trouve pas alors qu'apache est bien présent, mais où ce cache-t-il?

phil
10/07/2014, 10h23
réponse : le mod_rewrite n'est pas activé donc clairement il ne peut pas y avoir le lien symbolique qui pointe vers le module rewrite.load !

a2enmode activera justement le mod-rewrite en créant le lien symbolique.

Assure toi qu'il est bien disponible par contre :

root@nsxxxxxxx:~# ls /etc/apache2/mods-available/
actions.conf authn_dbd.load authz_owner.load charset_lite.load dir.load headers.load mem_cache.conf php5.load proxy.load ssl.load vhost_alias.load
actions.load authn_dbm.load authz_user.load dav_fs.conf disk_cache.conf ident.load mem_cache.load proxy_ajp.load proxy_scgi.load status.conf
alias.conf authn_default.load autoindex.conf dav_fs.load disk_cache.load imagemap.load mime.conf proxy_balancer.conf reqtimeout.conf status.load
alias.load authn_file.load autoindex.load dav.load dump_io.load include.load mime.load proxy_balancer.load reqtimeout.load substitute.load
asis.load authnz_ldap.load cache.load dav_lock.load env.load info.conf mime_magic.conf proxy.conf rewrite.load suexec.load
auth_basic.load authz_dbm.load cern_meta.load dbd.load expires.load info.load mime_magic.load proxy_connect.load setenvif.conf unique_id.load
auth_digest.load authz_default.load cgid.conf deflate.conf ext_filter.load ldap.conf negotiation.conf proxy_ftp.conf setenvif.load userdir.conf
authn_alias.load authz_groupfile.load cgid.load deflate.load file_cache.load ldap.load negotiation.load proxy_ftp.load speling.load userdir.load
authn_anon.load authz_host.load cgi.load dir.conf filter.load log_forensic.load php5.conf proxy_http.load ssl.conf usertrack.load
A propos des panels (webmin, plesk, etc.). Sache qu'il s'agit d'outils d'aide à l'administration, ils ne se substituent pas à une bonne connaissance de l’administration de son système. C'est un peu comme si tu essayais de piloter un airbus uniquement grâce au pilote automatique sans être qualifié. A un moment ou à un autre, tu vas t'écraser.

Philippe

caplangues
10/07/2014, 10h06
Salut et merci pour ta réponse.
Le problème, c'est qu'aucune des instructions données ne fonctionne.
Lorsque je saisi ls /etc/apache2/mods-enabled/rewrite.load -alh sous putty, j'obtiens:


ls: impossible d'accéder à /etc/apache2/mods-enabled/rewrite.load: Aucun fichier ou dossier de ce type.
Il semblerait qu'apache ne soit pas installer dans ce répertoire.

Pourquoi? Mystère.

phil
10/07/2014, 09h31
Salut


root@nsxxxxxx:~# ls /etc/apache2/mods-enabled/rewrite.load -alh
lrwxrwxrwx 1 root root 30 mars 9 11:47 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load
et pour activer a2enmode...

T'as cherché sur google ?

Philippe

caplangues
09/07/2014, 16h01
Finalement, j'aice .htaccess qui fonctionne sur un hébergement mutualisé:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} /crm/
RewriteRule ^(.*)$ http://www.caplangues.pro/crm/htdocs/$1 [R,L]

En revanche, il ne fonctionne pas sur mon dédié.
D'après ce que j'ai pu trouvé sur Google, mod_rewrite ne serait pas activé sur mon serveur (mod_rewrite n'apparait pas dans les listes d'un fichier phpinfo par exemple).

Si le problème vient de là, je n'ai absolument aucune idée pour l'activer.
Je fais donc appel à vous pour me dire comment l'activer sachant que je suis sous Plesk 12 Centos 6 en php 5.5.14

Merci d'avance.

gregfr
01/07/2014, 04h12
Vous avez configuré une redirection récursive, ça ne peut pas marcher.
Si vous voulez que le contenu du dossier "/crm/htdocs" soit accessible sous "http://.../crm", le plus simple est de faire un alias au niveau du filesystem, ou bien de configurer apache lui-même pour aller chercher les fichiers dans ce dossier (voir le DocumentRoot).

phil
26/06/2014, 22h27
Salut

Tu ne nous donnes même pas le contenu complet de ton .htaccess. Ceci dit:

philippe@home:~$ wget www.caplangues.pro/crm
--2014-06-26 23:12:51-- http://www.caplangues.pro/crm
Resolving www.caplangues.pro (www.caplangues.pro)... 37.187.90.96
Connecting to www.caplangues.pro (www.caplangues.pro)|37.187.90.96|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.caplangues.pro/crm/ [following]
--2014-06-26 23:12:51-- http://www.caplangues.pro/crm/
Reusing existing connection to www.caplangues.pro:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.caplangues.pro/crm/htdocs [following]
--2014-06-26 23:12:51-- http://www.caplangues.pro/crm/htdocs
Reusing existing connection to www.caplangues.pro:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.caplangues.pro/crm/htdocshtdocs [following]
--2014-06-26 23:12:51-- http://www.caplangues.pro/crm/htdocshtdocs
Reusing existing connection to www.caplangues.pro:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.caplangues.pro/crm/htdocshtdocshtdocs [following]
--2014-06-26 23:12:51-- http://www.caplangues.pro/crm/htdocshtdocshtdocs
Reusing existing connection to www.caplangues.pro:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.caplangues.pro/crm/htdocshtdocshtdocshtdocs [following]
--2014-06-26 23:12:51-- http://www.caplangues.pro/crm/htdocshtdocshtdocshtdocs
[...]
En gros, ton .htaccess se ré-applique à chaque requête dans le répertoire /crm/ et tu rajoutes un htdocs. Ça ne ressemble pas à ce que tu nous as décrit.

A ta place,
1- j'éviterais de configurer mon serveur apache à coup de .htaccess. Ce n'est pas fait pour
2- J'utiliserai un DirectoryIndex /crm/htdocs/index.php genre

DirectoryIndex /crm/htdocs/index.php
[...]
Philippe

caplangues
26/06/2014, 13h24
Bonjour,
Je tente de faire une simple redirection via .htaccess avec l'instruction suivante:
Redirect permanent /crm/ /crm/htdocs/index.php

Normalement, ceci devrais me rediriger www.caplangues.pro/crm vers www.caplangues.pro/crm/htdocs/

Mais ce n'est pas le cas, la redirection faite est vers http://caplangues.pro/htdocs/index.p...docs/index.php

Pourquoi n'arrive-t-il pas à me rediriger correctement?

Pour info, je suis avec l'installation SoYouStart par défaut Debian 7 + ISPConfig (j'ai juste créé un client auquel j'ai attribué un site et un accès ftp).

Merci d'avance pour vos réponses.