Rewriting pseudo frame vers un autre pseudo frame

Nouveau WRInaute
Bonjour,

j'appel à vous car je ne comprend absolument pas le rewriting
j'ai lu des tutos notament sur ce lien https://www.webrankinfo.com/dossiers/conseils/relancer-referencement et https://www.craym.eu/tutoriels/referencement/url_rewriting.html.#htaccess , je ne comprend toujours pas

En fait j'ai un site qui utilise les pseudo frames index.php?mod=
en fait ce que je veux faire c'est d'utiliser un .htaccess afin de rediriger les liens vers le nouveaux, mais j'y arrive pas
Avant j'utilisait toujours les pseudos frame de ce tyme index.php?page=
donc je veux juste change cette partie : page= en mod= tout en gardant les noms des liens.
a partir de ce lienhttps://www.webrankinfo.com/forum/t/ur-finit-et-apres.7288/j'ai fait ça

RewriteCond %{REQUEST_URI} ^/index.php$
RewriteCond %{QUERY_STRING} mod=News
RewriteRule ^.*$ index.php?mod=News [R=301]

ça marche pas

quelqu'un aurai pourrai m'aider merci
 
Nouveau WRInaute
Bonsoir,

Merci pour votre réponse
j'ai fait un test et mettant

RewriteEngine On
RewriteRule ^page=(.*)$ index.php?mod=$1 [QSA, R=301]

et en plaçant le fichier .htaccess à la racine de mon site et il me met "Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request...etc"

pourtant j'ai fait un test de compatibilité sur le serveur, je suis chez ovh en 60gp, et tous est OK
Donc d'ou peut venir le problème ?
 
Nouveau WRInaute
polweb a dit:
Est ce qu'il y a rewrite engine on dans ton htaccess ?

A plus.

Bonjour,

Oui il y avait rewrite engine on dans mon .htaccess, mais je l'ai enelevé puis testé, mais même message d'erreur "Internal Server Error..."
je ne vois pas d'ou vient le probleme
 
WRInaute accro
Pourquoi pas en PHP ? C'est souvent plus simple.

PHP:
<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php&nbsp;<br /></span><span class="syntaxkeyword">if(isset(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'page'</span><span class="syntaxkeyword">])&nbsp;&&&nbsp;!empty(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'page'</span><span class="syntaxkeyword">])){<br /></span><span class="syntaxdefault">$url&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxstring">'http://example.com/index.php?mod='</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'page'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Status:&nbsp;301&nbsp;Moved&nbsp;Permanently'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Location:&nbsp;'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$url</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault">?><br /></span></span>
 
Nouveau WRInaute
spout a dit:
Pourquoi pas en PHP ? C'est souvent plus simple.

PHP:
<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php <br /></span><span class="syntaxkeyword">if(isset(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'page'</span><span class="syntaxkeyword">])</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!empty(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'page'</span><span class="syntaxkeyword">])){<br /></span><span class="syntaxdefault">$url </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'http://example.com/index.php?mod='</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'page'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Status: 301 Moved Permanently'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Location: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$url</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault">?><br /></span></span>

Bonjour,

wow j'y avait pas penser, ça marche nikel, la redirection est parfaite !
merci beaucoup pour cette solution !!!
merci tout le monde

mais ça reste toujours intéressant de savoir pourquoi mon .htaccess ne marche pas

Sinon pour E-KIWI voici l'intégralité de mon fichier :

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^page=(.*)$ index.php?mod=$1 [QSA, R=301]
 
WRInaute accro
essaye d'enlever Options +FollowSymLinks, ce qui peut causer des erreurs 500 en fonction de la configuration du module rewrite
 
Nouveau WRInaute
Je ne sais pas, mais sous Windows avec Wamp, j'ai toujours eu des problèmes de .htaccess quand je ne redémarrais pas apache, des erreurs 500 et autres joyeuseté qui disparaissaient en relançant tous les services.
 
WRInaute accro
alors t'as un autre problème ailleurs, car il ne faut pas redémarrer apache ...
ma proposition a donné quoi ?
 
Discussions similaires
Haut