Menu

Problème rewriting avec .htaccess

Messages postés
33
Date d'inscription
vendredi 10 août 2018
Statut
Membre
Dernière intervention
19 mai 2019
- - Dernière réponse : Akimme
Messages postés
33
Date d'inscription
vendredi 10 août 2018
Statut
Membre
Dernière intervention
19 mai 2019
- 19 mai 2019 à 17:37
Bonjour,
Le rewriting est activé chez mon hébergeur.
C'est aussi confirmé par le "test" de vérification décrit par plusieurs blogueur.
C'est tout ce que j'arrive à faire!
Dès que je veux appliquer le code à mes pages réelles, c'est niet !

Voici une page réelle:
https://monSite.online/lang/fr/view/expert_config.php

Et voici une des nombreuses syntaxes que j'ai essayé sans succès:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^https://monSite.online/lang/fr/view/expert_config.php$ https://monSite.online/test-de-recrutement.php [L]


ou ceci:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/lang/fr/view/expert_config.php$ https://monSite.online/test-de-recrutement.php [L]


ou ceci:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/view/expert_config.php$ https://monSite.online/test-de-recrutement.php [L]


Selon le cas, le fichier .htaccess je l'ai placé à la racine ou dans le dossier commun /lang/ ou dans le dossier spécifique à la langue. Le résultat est toujours de 2 types: soit les pages du site s'affichent normalement (.htaccess à la racine), soit il ne résout plus. Idem si je place .htaccess dans un dossier (soit le code ne fait rien, soit la ou les pages concernées ne sont plus trouvées).

J'aimerais savoir quel est le code à appliquer. Ha oui, ce que je voudrais comme résultat est monSite.online/nomSEO.php ou, j'aimerais encore mieux, monSite.online/nomSEO.htm

D'avance merci pour votre aide, remarques, conseils.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
23201
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
18 mai 2019
1602
1
Merci
lut:)
je ne sais pas pourquoi tu mets l'extension .online ..... ?
voici deux exemples qui fonctionnent chez "leur" hébergeur" :
#accepter le SSl
RewriteEngine On
RewriteCond %{HTTP:HTTPS} !on
RewriteRule (.*) https://%{SERVER_NAME}/$1 [QSA,L,R=301]
#forcer les wwwRewriteEngine on
RewriteCond %{HTTP_HOST} ^MONSITE.info$
RewriteRule ^(.*) http://www.MONSITE.info/$1 [QSA,L,R=301]

chez online.net en conservant volontairement les " www "
# Redirection vers HTTPS
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://MONSITE.fr/$1 [R=301,L]
# utiliser les "RewriteRule" et "RewriteCond"
#et imposer le site sans les " www " dans l'url
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.MONSITE\.fr)(:80)? [NC]
RewriteRule ^(.*) http://MONSITE.fr/$1 [R=301,L]

chez un autre hébergeur, les " www " étant supprimés

le problème qui se pose est que certaines commandes peuvent varier d'un hébergeur à l'autre ... mais l'on trouve souvent la solution en fouinant dans l'aide ou autres ....

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 39363 internautes nous ont dit merci ce mois-ci

Commenter la réponse de bg62
Messages postés
33
Date d'inscription
vendredi 10 août 2018
Statut
Membre
Dernière intervention
19 mai 2019
0
Merci
Bonjour bg62,
Avant tout merci !
Je vais utiliser tes explications et code pour essayer de résoudre.
".online" est l'extension de mon domaine... C'est: www.MONSITE.online

Je reviens au plus vite, encore merci.
Cordialement
Akimme
Messages postés
33
Date d'inscription
vendredi 10 août 2018
Statut
Membre
Dernière intervention
19 mai 2019
-
Me revoici, dans mon post je me suis très très mal expliqué.
Ce que je cherche est que cette URL: https://monSite.online/lang/fr/view/expert_config.php
devienne celle-ci: https://monSite.online/test-de-recrutement.php
Il s'agit donc de virer /lang/fr/vieux/
Mes autres URL's ont une construction analogue. Par exemple, celle-ci https://monSite.online/lang/en/view/expert_config.php ouvre la même page en anglais. Le rewriting devrait donner: https://monSite.online/recruitment-test.php et ainsi de suite.
bg62
Messages postés
23201
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
18 mai 2019
1602 -
alors, bon courage !!!
car là en plus pour un lien ( éviter des dossiers ou des répertoires ) dans le .htaccess c'est encore facilement réalisable, mais faire ( à chaque fois ???? ) une redirection vers une autre page .... ben tu ne peut le faire qu'en rédigeant une ligne par nouvelle url désirée ....
Pourquoi faire compliqué quand on peut faire simple ....
Quel est le but de tout cela ? : ton site est ancien ? il est codé comment ? combien de pages ???
Akimme
Messages postés
33
Date d'inscription
vendredi 10 août 2018
Statut
Membre
Dernière intervention
19 mai 2019
-
Bonjour,
C'est une application .php
En plus de la home, elle comporte 2 pages de vente (2 types de tests psychologiques).
Lors de la conception de ces pages et de leur contenu, le nom (de ces pages) était et est resté: une expert_config.php et l'autre reconversion_form.php.

Ces pages sont écrites en 5 langues. Portent le même nom mais elles sont bien sûr dans des dossiers différents. Or la page expert_config.php devrait s'appeler "test-de recrutement.php" et la page reconversion_form.php devrait s'appeller "test-de-reclassement.php".
Il s'agit à la fois de mots clés SEO et aussi la réalité du contenu.

Une fois la syntaxe rewriting trouvée, je dois juste nommer ces 2 expressions dans les 5 langues et, si possible virer le chemin d'accès, c'est-à-dire (pour le français): /lang/fr/view/expert_config.php. Ces Url's ne vont pas changer et il n'y en aura pas d'autres.

Hier j'ai trouvé un bout de code qui récrit bien l'url souhaité, mais ... rien que ça, le navigateur ne trouve pas la page qui n'existe pas...

C'était ce code:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /lang/fr/view/expert_config.php /test-de-recrutement.php

</IfModule>


Voilà voilà...
Commenter la réponse de Akimme