8768 sujets

Développement web côté serveur, CMS

Bonjour.
Depuis 3 jours, j’essaie de rediriger une page de galerie piwigo, vers une autre page du domaine (sous wordpress), mais la redirection 301 htaccess que je fais ne fonctionne pas.
J'ai déjà posé la question sur le forum WPFR et sur celui de Piwigo, mais aucune réponse n'a apporté de solution (et il y en a eu quelques unes). Smiley bawling
Sur mon htaccess j'ai d'autres redirections qui fonctionnent normalement.
Si vous avez une/des idées pour fixer ce problème, je suis preneur. Smiley smile

Merci.

# Permanent URL redirect
Redirect 301 /galerie/index.php?/category/altolamprologus-sp-compressiceps-pemba/  https://www.destin-tanganyika.com/les-altolamprologus/
Salut, j'en ai un en racine du site, et un en racine du dossier /galerie/, j'ai essayé sur les deux, en enlevant /galerie/ sur celui de la galerie, mais rien n'y a fait pour le moment. Smiley hum

Merci.
Toutes les docs quie je trouve ou les générateurs donnent redirect 301, mais je peux tester ça ne coute rien. Smiley smile

Merci. Smiley jap
Bonjour,

RedirectPermanent ou Redirect 301 aura le même résultat, ce qui compte c'est la règle qui suit.
Je ne peux pas tester et je n'affirme pas, mais l'espace en trop que tu as laissé entre les deux fichiers (pemba/ https://.......). Juste tenter, au cas.
Salut,

un peu au pif mais bon, Smiley hum elle m'a l'air bizarre ton URL, on est sur qu'il n'y a pas déjà d'autre règles avant qui s'appliquent et qui n'interdisent les nouvelles règles de s'appliquer ?
Salut, je reviens après une semaine hors ligne.
Quelles type de règles seraient "parasites" ?
# BEGIN WordPress
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
# Toute modification des directives situées entre ces marqueurs sera surchargée.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# Permanent URL redirect
RewriteEngine on
Redirect 301 /PDF-tanganyika/index.htm  https://www.destin-tanganyika.com/pdfs-tanganyika/
 
Redirect 301 /tanganyika-cichlids/eau.htm  https://www.destin-tanganyika.com/eau-lac-tanganyika/
 
Redirect 301 /remerciements.htm  https://www.destin-tanganyika.com/remerciements/
 





# BEGIN WP-Optimize Gzip compression
<IfModule mod_filter.c>
	<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
		AddType application/vnd.ms-fontobject .eot
		AddType font/ttf .ttf
		AddType font/otf .otf
		AddType font/x-woff .woff
		AddType image/svg+xml .svg
		
		AddOutputFilterByType DEFLATE application/javascript
		AddOutputFilterByType DEFLATE application/rss+xml
		AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
		AddOutputFilterByType DEFLATE application/x-font
		AddOutputFilterByType DEFLATE application/x-font-opentype
		AddOutputFilterByType DEFLATE application/x-font-otf
		AddOutputFilterByType DEFLATE application/x-font-truetype
		AddOutputFilterByType DEFLATE application/x-font-ttf
		AddOutputFilterByType DEFLATE application/x-font-woff
		AddOutputFilterByType DEFLATE application/x-javascript
		AddOutputFilterByType DEFLATE application/xhtml+xml
		AddOutputFilterByType DEFLATE application/xml
		AddOutputFilterByType DEFLATE font/opentype
		AddOutputFilterByType DEFLATE font/otf
		AddOutputFilterByType DEFLATE font/ttf
		AddOutputFilterByType DEFLATE font/woff
		AddOutputFilterByType DEFLATE image/svg+xml
		AddOutputFilterByType DEFLATE image/x-icon
		AddOutputFilterByType DEFLATE text/css
		AddOutputFilterByType DEFLATE text/html
		AddOutputFilterByType DEFLATE text/javascript
		AddOutputFilterByType DEFLATE text/plain
		AddOutputFilterByType DEFLATE text/xml
		
# Remove browser bugs (only needed for really old browsers)
		BrowserMatch ^Mozilla/4 gzip-only-text/html
		BrowserMatch ^Mozilla/4\.0[678] no-gzip
		BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
		Header append Vary User-Agent
	</IfModule>
</IfModule>
# END WP-Optimize Gzip compression
<IfModule mod_headers.c>
   Header always set X-Frame-Options "SAMEORIGIN"
</IfModule>


Merci.
Modifié par Benoit1 (16 May 2022 - 07:38)
Je pensais que tu essayais de faire une redirection d'un site vers un autre sous WordPress, mais si j'ai bien compris, c'est l'inverse ?

As-tu essayé d'utiliser dans ce cas un plugin de redirection avec WordPress ? Personnellement, j'ai toujours fait comme ça avec WP, ce genre de plugin est léger et efficace, en plus il me semble que ça suit ta structure des liens, si jamais tu changeais le slug d'une page redirigée par exemple.
Les règles avec un L signifie Last https://httpd.apache.org/docs/2.4/fr/rewrite/flags.html#flag_l
Du coup je ne sais pas si ce bloc la qui en contient 2 ne pose pas problème :

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


Après ça m'a l'air bizarre d'avoir le code en dehors des IfModule
Dans le commentaire en haut ils disent de configurer les "filtres" :
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
Modifié par Mathieuu (17 May 2022 - 16:29)
Mais les redirections
# Permanent URL redirect
RewriteEngine on
Redirect 301 /PDF-tanganyika/index.htm   https://www.destin-tanganyika.com/pdfs-tanganyika/
 
 
Redirect 301 /tanganyika-cichlids/eau.htm   https://www.destin-tanganyika.com/eau-lac-tanganyika/
 
 
Redirect 301 /remerciements.htm   https://www.destin-tanganyika.com/remerciements/


Fonctionnent parfaitement.

Là j'ai essayé avec le plugin que m'a recommandé Loraga, mais visiblement il n'y a que l'url de départ qui semble reconnue, l'autre semble "oubliée"... Smiley hum
J'ai fini, en emuant un peu tout, par trouver une solution qui me semble bonne, mais surtout qui fonctionne.
Dans le champs description de la galerie, en mode "source", à la page qui m'intéresse, j'ai intégré ce code:
<!DOCTYPE html>
<html>
<body>
<script>
    // Javascript URL redirection - generated by  www.rapidtables.com
 
    window.location.replace("https://www.destin-tanganyika.com/altolamprologus-2");
</script>
</body>
</html>

Code obtenu sur le site indiqué, et la page est bien renvoyée, vers la nouvelle !
Modifié par Benoit1 (19 May 2022 - 14:40)
Tu peux aussi utiliser la fonction header() de PHP pour rediriger comme ceci. Ça a deux avantages par rapport window.location :

- On n'attend pas que le DOM se charge pour que la redirection s'effectue (donc plus rapide)
- Tu fais une "vraie" redirection 301, tu envoies le bon en-tête donc cela indique au navigateur (et aux moteurs de recherche) que la page a changé d'adresse de façon permanente (comme l'aurait fait ton htaccess)
- Et ça ne nécessite pas d'avoir JavaScript d'activé (même si, aujourd'hui, c'est plutôt rare de désactiver JS...)

A placer tout en haut du fichier

<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location:  http://www.site.exemple/repertoire/page.php");
 
exit();
?> 
Il s'agit de galeries Piwigo, je n'ai pas de fichier par page, je ne peux pas faire ce type de redirection, d'après ce que j'en sais.

Mais merci. Smiley smile