Redirections

koopa90koopa90 Member

Bonjour à tous,

Voici la config de mon site

  • PluXml 5.6
  • MyBetterUrls activé
  • Réécriture d'url activée

Voici mon fichier .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{HTTP_HOST} ^www.mon-site.net$
RewriteRule ^(.*) https://mon-site.net/$1 [QSA,L,R=301]


# BEGIN -- Pluxml
Options -Multiviews
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Réécriture des urls
RewriteRule ^(?!feed)(.*)$ index.php?$1 [QSA,L]
RewriteRule ^feed\/(.*)$ feed.php?$1 [QSA,L]
</IfModule>
# END -- Pluxml

J'ai supprimé certaines catégories et certains articles de mon site et afin d'éviter les erreurs 404, je les redirige.
Le problème, c'est que ma page redirigée récupère le nom de l'ancienne page et l'ajoute dans l'url après un "?".

Voici un exemple, cela sera plus parlant

RedirectPermanent /ancienne-page /nouvelle-page

Me donne : https:// mon-site.net/nouvelle-page?ancienne-page
Et me génère une erreur 404.

Pouvez-vous m'aider ?
Merci

Réponses

  • kowalskykowalsky Member

    Bonjour @koopa90

    à noter que tes redirections de fichiers ou répertoires doivent être placées au début de ton fichier .htaccess, avant le reste.

    Pour moi, le code que tu indiques ensuite correspond à une redirection de répertoire ou de catégorie, pas de page.

    RedirectPermanent "/ancienne-page" "/nouvelle-page"
    

    De mémoire pour rediriger une page vers une autre il faut indiquer l'url complète de la nouvelle page.

    Pour l'activation Https, j'ai ce code qui fonctionne chez moi (mais comme c'est dépendant du serveur, c'est à tester):

    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
    

    Pour la redirection https, j'ai :

    RewriteCond %{HTTP_HOST} ^www\.mon-site\.net$
    RewriteRule ^(.*)$ "https://mon-site.net/$1" [L,R=301]
    
  • koopa90koopa90 Member
    22 oct. modifié

    Bonjour @kowalsky et merci pour la réponse.

    J'ai mis à jour MyBetterUrls
    J'ai donc maintenant la version 1.5.5 du plugin.

    J'ai donc toujours ça dans mon .htaccess

    RedirectPermanent /ancienne-page /nouvelle-page

    Quand j'utilise un outil pour tracker ma redirection voilà ce que ça me donne

    https://mon-site.com/ancienne-page
    301 Moved Permanently
    https://mon-site.com:443/?ancienne-page
    301 Moved Permanently
    https://mon-site.com/ancienne-page
    301 Moved Permanently
    https://mon-site.com:443/?ancienne-page
    

    J'ai donc une jolie boucle de redirection !

  • Bonjour,

    La seule solution que j'ai trouvée pour c'est d'ajouté un ? à la nouvelle url ...

    ex: RedirectPermanent /ma-page-a /ma-page-b? ce qui donne alors : https://mon-site.com/ma-page-b? .. pas très sexy.

    Pas expert , je n'ai pas réussi à faire mieux, la majorité de mes autres tentatives ont tout bonnement tout cassé en une erreur 500 :)

    Cdt

    ♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins : https://github.com/gcyrillus PluXml 5.8.7 sur free ? oui c'est possible : http://gcyrillus.free.fr/new }-))))°> ♣♣♣♣

  • koopa90koopa90 Member
    22 oct. modifié

    Bonjour @gcyrillus-nomade

    Merci beaucoup, ça marche ! :)
    Pour info chez moi le "?" disparait de l'URL, donc c'est top !

Connectez-vous ou Inscrivez-vous pour répondre.