Problème rewriting avec .htaccess

Fermé
Akimme Messages postés 33 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 19 mai 2019 - 12 mai 2019 à 11:27
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.

2 réponses

bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
16 mai 2019 à 11:11
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 ....
2
Akimme Messages postés 33 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 19 mai 2019
16 mai 2019 à 15:06
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
0
Akimme Messages postés 33 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 19 mai 2019
16 mai 2019 à 22:43
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.
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
Modifié le 18 mai 2019 à 18:41
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 ???
0
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,
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à...
0