Redirection PHP .htaccess
Redirection PHP .htaccess
Source : Les forums Webrankinfo
Bonjour a tous,
Voila j'ai regroupé plusieurs code de redirection .hatacces et je veux partager avec vous.
Rediriger un nom de domaine avec leur page vers un autre
Code:
RewriteEngine On RewriteRule ^(.*)$ http://www.noveaunomdomaine.com/$1 [R=301,L]
Rediriger site sans www. vers site avec www : ( pour éviter le duplicate contenu )
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.nomdoamine\.com [NC]
RewriteRule (.*) http://www.nomdoamine.com/$1 [QSA,R=301,L]
Rediriger index.html , index.php.... vers racine de site ( aussi pour éviter le duplicate contenu )
Code:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp|shtml)
RewriteRule ^(.*)index.(htm|html|php|asp|shtml)$ /$1 [R=301,L]
Rediriger un ancien page vers un nouvelle page ( pour éviter les erreurs 404 )
Code:
RewriteEngine On RewriteRule ancienpage.html http://www.nomdomaine.com/nouvellepage.html [R=301]
Rediriger un dossier et leur contenu vers un autre nouveau dossier ( pour éviter les erreurs 404 )
Code:
RewriteEngine On RewriteRule ^ancien/(.*)$ http://www.nomdomaine.com/nouveaudossier/$1 [R=301,L]
/**************************** les pages format exemple.php?id=5 ----> exemple-5.html *************** /
Code:
RewriteEngine On RewriteRule ^(.*)-([a-z-]+)-([0-9]+)\.html$ exemple.php?id=$2 [L]
/**************************** les pages format exemple.php?id=5&cat=10 ----> exemple-5-10.html *************** /
Code:
RewriteEngine On RewriteRule ^(.*)-([a-z-]+)-([0-9]+)-([0-9]+)\.html$ exemple.php?id=$3&cat=$4 [L
/**************************** convertir l'extension de fichiers php en html *************** /
Code:
RewriteEngine On RewriteRule ^(.*)\.html $1\.php [L]
Le format des liens sera exemple.html alors que le nom de la page est exemple.php
Bien sur il y'a des autres code a vos de nos donné vos code et aussi vos remarque ![]()
**** des exemples : ( voila 5 exemples je trouve dans ce forum pour mieux comprend )
*********************************************************** exemple 1 **********************************
Si tu veut rediriger tous les page d'un dossier vers les page d'un nouveau dossier qui prend le même nom
Code:
RewriteEngine On RewriteRule ^forum-dossier/(.*)$ http://www.le-saxophone.fr/dossiers/$1 [R=301,L]
Si tu veut rediriger tous les page d'un dossier vers le racine d'un autre dossier.
Code:
RewriteEngine On RewriteRule ^forum-dossier/(.*)$ http://www.le-saxophone.fr/dossiers/ [R=301,L]
*********************************************************** exemple 2 ********************************
Code:
RewriteEngine On RewriteRule ^\#/(.*)\.html $1\.php [L]
*************************************** exemple 3 ******************************************
caviar a dit:
je voudrai faire des règles simples
1 - si l'url après le ndd contient cat- alors je redirige vers page=accueil&idcat=$1
2 - si l'url après le ndd contient commentaires- alors je redirige vers page=addcomments&id=$1:
Code:
RewriteRule ^cat-(.*)$ index.php?page=accueil&idcat=$1 [L,NC] RewriteRule ^commentaires-(.*)$ index.php?page=addcomments&id=$1 [L,NC]
*********************************** exemple 4 *******************************
monbototo a dit:
j'aimerai rediriger http://www.anciensite.com vers http://www.nouveausite.com de façon permanente, mais sauf le
dossier "wanewsletter" ainsi que tous les sous-dossiers et fichiers qu'il contient.
Réponse par @HawkEye
Code:
RewriteCond %{REQUEST_URI} !wanewsletter/(.*)$
RewriteRule (.*) http://www.nouveausite.com/$1 [QSA,R=301,L]
NB: La règle fait une redirection page-à-page. Si tu veux simplement tout rediriger vers la racine du nouveau site,
il faut que tu enlèves le "$1"
***************************** exemple 5 *******************************************************
allann a dit:
est il possible de passez des variables de bases de données mysql dans une url de rewrting
actuellement j'ai des pages comme par exemple
http://www.monsite.com/annonce.php?idannonce=x ou x corespond à l'id de l'annonce
puis dans la balise meta title acheter votre <? $marque $modele ?>
j'aimerai si possible ecrire une regle qui transforme la page annonce.php en annonce-marque-modele.hml
Code:
rewritengine on Rewriterule ^([0-9]+)-(.*)-(.*)\.html$ /annonce.php?idannonce=$1 [L]
Greendog a dit:
Il m'est arrivé de faire diverses url-rewriting (une dizaine dans le fichier .htaccess) et lorsque je cliquais sur un lien A sur le site, j'arrivais sur la page B. En gros, l'url rewriting des diverses urls étaient mélangé, j'ai réglé ce soucis en changeant l'ordre des lignes dans le fichier. Mais y'a-t-il une règle exact pour éviter ce genre de problème ?
Voila un topic qui parle plus de ça https://www.webrankinfo.com/forum/t/ordre-des-regles-dans-fichier-htaccess.84664/
Je souhaiterais rediriger mon URL stream de radio de base http://xxx.xxx.com:0000 en http://xxxx.maradio.com
Après avoir crée un sous domaine interne , un ami avait place un fichier .htaccess avec deux lignes de codes dans ce dossier
La redirection marchait
Rediriger www.domaine.fr/dossier//page.html (ou bien www.domaine.fr//dossier/page.html et même www.domaine.fr//dossier//page.html)vers www.domaine.fr/dossier/page.html
Code:
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . http://www.domaine.fr%1/%2 [R=301,L]
J'essaye de modifier un URL du type -http://example.com/go.php?go=affiliate1 en URL du type : -http://example.com/go/affiliate1
Code:
RewriteEngine On
RewriteRule ^(.*)/(.*)/$ go.php?go=$2 [L]
Protégeons nos fichiers images
Code:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.votredomaine.net/.*$ [NC]
ReWriteRule .*\.(gif|png|jpe?g)$ - [F]
Je dois rediriger le trafic d'un site vers un autre (structure complétement différente)
Mais je voudrais rediriger des pages spécifiques.
Comment je peux ajouter des règles particulières avec ce code ?
RewriteEngine On
RewriteRule ^(.*)$ http://www.nouveaudomaine.fr/$1 [R=301,L]
Oui dois je indiquer toutes les pages
RewriteEngine On
RewriteRule index.html http://www.nomdomaine.com/index.php [R=301]
RewriteRule ancienpage2.html http://www.nomdomaine.com/nouvellepage.html [R=301]
RewriteRule /dossier/ancienpage3.html http://www.nomdomaine.com/nouvellepage3.html [R=301]
Tu doit crée deux fichier .htaccess :
µ
Pour ancien nom de domaine ajouter ce code
Code:
RewriteEngine On RewriteRule ^(.*)$ http://www.nouveaudomaine.fr/$1 [R=301,L]
( toutes les pages seront redirigées vers les pages de nouveau nom de domaine ) et pour le nouveau nom de domaine ajouter un fichier .htaccess avec les nouveau règles :
Code:
RewriteEngine On RewriteRule ancienpage.html http://www.nouveaudomaine.com/nouvellepage.html [R=301]
( les anciennes page de l'ancien nom de domaine sera rediriger vers les nouvelle page )
j'ai des problème dans la sécurité de mon petit espace hébergement, j'ai fait qu'il que recherche j'ai trouvé un bon code qui permet de protéger le serveur contre les hacker débutant :wink:
voila le code ( dans fichier .htacess )
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})