Changement de langage de programmation

WRInaute discret
Bonjour,

J'ai un site en .asp et je vais bientôt changer pour une version en .php et d'hébergement.
l'hébergement c'est pas le problème car juste le nom de domaine donc aucune incidence.
Par contre pour les liens des pages je ne sais pas trop comment faire ...
Laisser la version asp en ligne et faire une redirection vers la version php faire des redirections partout...
Je sais pas trop.
Par contre je garde la même architecture à l'identique avec beaucoup de plus mais la base est la même.
Auriez-vous des idées ?

Car je suis sois 1er sois 2eme en permanence sur google et j'aimerais pas tout perdre.

merci d'avance
 
WRInaute accro
si tu gardes le nom des pages à l'identique (exception faite de l'extension), tu peux faire une redirection permanente avec une règle de renommage via le .htaccess. Sinon, tu fais la même chose pour les pages les plus importantes, au cas par cas, et tu rediriges les autres vers la page principale ou des pages de rubrique.
 
Nouveau WRInaute
Sinon tu garde la même extension des pages et tu dis à Apache que les fichiers .asp sont des scripts PHP (à voir suivant ce qu'il y a d'autre sur le serveur)
 
WRInaute discret
la solution de Charles (W.E.B) est parfaite, car t'auras rien à modifier pour les noms de tes pages.
une simple ligne suffira dans httpd.conf :
Code:
AddType application/x-httpd-php .asp
 
WRInaute accro
Charles (W.E.B) a dit:
Sinon tu garde la même extension des pages et tu dis à Apache que les fichiers .asp sont des scripts PHP (à voir suivant ce qu'il y a d'autre sur le serveur)
Aussi, mais ça me ferait bizarre ^^.
 
WRInaute passionné
jamalofski a dit:
a solution de Charles (W.E.B) est parfaite, car t'auras rien à modifier pour les noms de tes pages.
une simple ligne suffira dans httpd.conf :

Code:
AddType application/x-httpd-php .asp
Juste pour information : ça marche aussi pour un hébergement mutualisé ??? Ou ce n'est que pour les hébergements dédiés ???
 
WRInaute impliqué
Pandore a dit:
jamalofski a dit:
a solution de Charles (W.E.B) est parfaite, car t'auras rien à modifier pour les noms de tes pages.
une simple ligne suffira dans httpd.conf :

Code:
AddType application/x-httpd-php .asp
Juste pour information : ça marche aussi pour un hébergement mutualisé ??? Ou ce n'est que pour les hébergements dédiés ???

Ca doit marcher en mutualisé, il n'y a pas de raison.
 
WRInaute impliqué
Nightwolf a dit:
je suis en mutualiser est t'il possible de faire la meme chose dans le .htaccess ?

Je crois avoir déja répondu. Si tu ne m'a pas cru la première fois, ça ne sert à rien que je répète... :wink:
 
WRInaute discret
Vap a dit:
Pandore a dit:
jamalofski a dit:
a solution de Charles (W.E.B) est parfaite, car t'auras rien à modifier pour les noms de tes pages.
une simple ligne suffira dans httpd.conf :

Code:
AddType application/x-httpd-php .asp
Juste pour information : ça marche aussi pour un hébergement mutualisé ??? Ou ce n'est que pour les hébergements dédiés ???

Ca doit marcher en mutualisé, il n'y a pas de raison.

Donc après avoir tester sa et ne marche pas.
si je prend une page qui existe sur mon server en .php mais que je la renomme avec .asp sa me dit que sa existe pas .

Merci d'avance
 
WRInaute accro
Nightwolf a dit:
Vap a dit:
Pandore a dit:
jamalofski a dit:
a solution de Charles (W.E.B) est parfaite, car t'auras rien à modifier pour les noms de tes pages.
une simple ligne suffira dans httpd.conf :

Code:
AddType application/x-httpd-php .asp
Juste pour information : ça marche aussi pour un hébergement mutualisé ??? Ou ce n'est que pour les hébergements dédiés ???

Ca doit marcher en mutualisé, il n'y a pas de raison.

Donc après avoir tester sa et ne marche pas.
si je prend une page qui existe sur mon server en .php mais que je la renomme avec .asp sa me dit que sa existe pas .

Merci d'avance

Hé bien si ca ne marche pas, tu n'as pas moyen de procéder ainsi. Il va donc te falloir faire des redirections 301 fichier par fichier.
 
WRInaute impliqué
Ca peut dépendre de l'hébergeur.

Par exemple, chez 1and1, il faudrait mettre:

Code:
AddType x-mapp-php5 .asp

Je viens de tester, ça marche (sur un mutualisé).
 
WRInaute accro
Oui mais c est un peu comme avoir un interieur d'Audi a8 et l'exterieur d'une 2cv ça, non ? moi ça me perturberai d'avoir mes pages php appelées via des url ... asp quand même :D
 
WRInaute discret
Pour ce qui est de l'audi A8 et de la 2ch et bien franchement l'aspect exterieur ne veux rien dire de l'interrieur :)

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^planet-montre.com$
RewriteRule ^(.*) http://www.planet-montre.com/$1  [QSA,L,R=301]
RewriteRule ^(.*).asp(.*) $1.php$2
AddType x-mapp-php5 .asp
SetEnv SESSION_USE_TRANS_SID 0

Voici le contenu de mon .htaccess et rien a y faire le sans www ne veux pas aller vers le www et encor moin le .Asp vers .Php

Merci d'avance [/code]
 
WRInaute impliqué
Ta deuxième règle est bizarre :

Code:
RewriteRule ^(.*).asp(.*) $1.php$2

Si tu veux passer des paramètres, il faut utiliser QSA :


Code:
RewriteRule ^(.*).asp $1.php [QSA]

Ensuite, soit tu dit que les pages .asp sont du PHP par le AddType, soit tu réécris les asp en php par la règle ci dessus. Faire les deux en même temps ne sert à rien.

Enfin, chez 1and1, il faut ajouter la ligne ci dessous avant RewriteEngine on :

Code:
Options +FollowSymLinks
 
WRInaute discret
Bon apres mettre dit que je devais être aveugle et que je n'arrivais meme pas a reecrir ou meme copier coller ce que vous ecriviez jai repris a zero mon htaccess.
et pour commencer deja ma redirection de sans le www vers le www ( pour le forcer )
voici ce que j'ai mis dans mon .htaccess
Code:
RewriteEngine On 
RewriteBase / 
RewriteCond %{HTTP_HOST} ^planet-montre.fr$
RewriteRule ^(.*) http://www.planet-montre.fr/$1  [QSA,L,R=301]
et pourtant la redirection ne ce fait pas.
si vous pouviez m'aider ...
et quand sa marchera a mon avis la redirection .asp vers .php devrais marcher.

Merci d'avance de votre aide
 
WRInaute impliqué
As tu vu qu'il fallait peut etre l'option followsymlinks?

Relis mon message précédent.
 
WRInaute discret
Donc j'ai essayer avec
Code:
Options +FollowSymLinks

Et j'ai le droit à une belle erreur 500 internal erreur !!!!!!!!! :(
 
WRInaute impliqué
Et bien, ça veut dire que la réécriture est maintenant activée.

Il faut maintenant mettre au point tes règles. Peux tu mettre ton .htaccess complet?
 
WRInaute discret
Voici mon .htaccess au complet :
Code:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [L,R]
RewriteRule ^(.*).asp $1.php [QSA]
SetEnv SESSION_USE_TRANS_SID 0

Merci d'avance
Anthony
 
WRInaute impliqué
Il ne faut pas utiliser %{HTTP_HOST} en partie droite...

Donc change le en quelque chose comme ce qui suit.

Code:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www
RewriteRule (.*) http://www.monsite.com/$1 [L,R]
RewriteRule ^(.*).asp $1.php [QSA]
SetEnv SESSION_USE_TRANS_SID 0
 
WRInaute impliqué
ET avec ça?

Code:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www
RewriteRule (.*) http://www.monsite.com/$1 [L,R]
RewriteRule ^(.*).asp /$1.php [QSA]
SetEnv SESSION_USE_TRANS_SID 0
 
WRInaute discret
Malheureusement c'est la meme chose !
je sais pas pourquoi et je suis a me casser la tête depuis a peu prêt 3 jours.

Je sais plus si je l'ai dit mais c'est un hebergement OVH.
 
WRInaute impliqué
Je ne sais pas.

Quelle version de apache est utilisée?

Tu peux utiliser le log apache pour voir ce qui se passe.

Tu peux ajouter ça après RewriteEngine On :

Code:
RewriteLog <file_name>
RewriteLogLevel 9

à la place de <file_name> tu met l'endroit ou tu veux que le log soit, par exemple /www/log/rewritelog

Et après tu regarde ce qui se passe.
 
WRInaute discret
J'arrive pas a avoir les log
Par contre après mail au suport OVH il me dise que
Options +FollowSymLinks est interdit.
c'est pourquoi sa me renvoie une erreur 500

et si je l'enleve plus d'erreur mais pas non plus de redirection.
Aucune des commande est alors prise en compte.
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www
RewriteRule (.*) http://www.monsite.com/$1 [L,R]
RewriteRule ^(.*).asp $1.php [QSA]
SetEnv SESSION_USE_TRANS_SID 0
meme le
Code:
SetEnv SESSION_USE_TRANS_SID 0
ne reagit pas ce qui me cree plein d'erreur de validation.

vous auriez une idée?
 
WRInaute impliqué
Demande leur comment faire une reecriture simple, du genre faire marcher la règle suivante

Code:
RewriteRule test.html test.php
 
WRInaute impliqué
Effectivement c'est incomprehensible.

Tu n'as mis que ce qu'ils t'on dit dans le .htaccess ?

Ca m'étonnerai car on ne peut pas accéder a ce fichier, il y a donc autre chose.
 
WRInaute discret
Donc voila sa marche.

Alors a savoir que les saut de ligne générer par notepad++ ne son pas gerer il faut donc editer sont htaccess sous le block note et le nommer t.htaccess et ensuite l'uploader et le renommer .htaccess

a partir de ce moment la sa marche ...
chose assez extraodinaire quand même.

donc tout marche meme la redirection .asp .php.

je te remerci vraiment de ton aide Vap
Et si un jour tu cherche une montre mp moi avant :)

Merci encor de ton aide
 
WRInaute discret
Puis-je en profiter pour te demander comment faire pour que mes url
/marques.php?id_rayon=X
devienne
/montre-"ma marques"
via mon .htaccess

et pour
/marques.php?id_rayon=X&id_type=x
devienne
/montre-"homme ou femme ou enfant"-"ma marques"

merci d'avance

Anthony
 
WRInaute impliqué
Nightwolf a dit:
Puis-je en profiter pour te demander comment faire pour que mes url
/marques.php?id_rayon=X
devienne
/montre-"ma marques"
via mon .htaccess

et pour
/marques.php?id_rayon=X&id_type=x
devienne
/montre-"homme ou femme ou enfant"-"ma marques"

merci d'avance

Anthony

IL faut donner la correspondance entre X et la marque, et entre x et le type quelque part.

Par exemple :

Code:
RewriteRule montre-homme-marque1.html /marques.php?id_rayon=X~id=x

Et dans tous tes liens tu utilise les adresses en .html
 
WRInaute discret
Donc il faut que je fasse 1 ligne par redirection que je veux faire?
mais ma régle ne va plus marcher ? il vaut mieu que je mette mes redirection avant ou après celle-ci?
Code:
RewriteRule ^(.*).asp $1.php [QSA]

merci
 
WRInaute impliqué
J'ai peut etre pas bien compris.

Tu veux que si quelqu'un tape
-http://www.mondomaine.com/marques.asp?id_rayon=X

l'adresse devienne
-http://www.mondomaine.com//montre-"ma marques"

mais que le contenu soit celui de
-http://www.mondomaine.com/marques.php?id_rayon=X

C'est ça?
 
WRInaute impliqué
Nightwolf a dit:
Voilà tout a fait mais sen le double //

Oups, c'est une typo.

Tu peux faire ça avec deux règles par type de montre (je n'ai pas testé):

Code:
RewriteCond %{QUERY_STRING}% ^id_rayon=X$
RewriteRule marques.asp http://www.mondomaine.com/montre-ma-marques.html [R=301]

RewriteRule montre-ma-marques.html /marques.php?id_rayon=X [L]

où ma-marque correspond a l'id X.

J'ai mis une extension html, ca évite des complications. En effet dans la plupart de soncifgurations, apache ajoute un / à la fin des url qui n'ont pas d'extension.
 
WRInaute discret
j'ai essayer avec sa :
Code:
RewriteCond %{QUERY_STRING}% ^id_rayon=6$
RewriteRule marques.php http://www.planet-montre.com/montre-beuchat.html [R=301]
RewriteRule montre-beuchat.html /marques.php?id_rayon=6 [L]

et sa change rien
 
WRInaute impliqué
Tes règles bouclent.

Ce n'est pas celles que je t'ai proposé en tout cas. Chez moi on réécrit .asp en .html avec une redirection, puis le .html en .php Ca marche, je l'ai testé.

Toi, tes deux règles vont de .php a .html puis de .html a .php, ce qui boucle.
 
WRInaute impliqué
La redirection .html vers php marchait , mais pas l'autre, à cause d'un % en trop dans la conditions.

Bref, ce qui suit marche chez moi:

Code:
RewriteEngine On

RewriteRule montre-ma-marques\.html /marques.php?id_rayon=X [L] 

RewriteCond %{QUERY_STRING} id_rayon=X
RewriteRule marques\.asp  http://s199521245.onlinehome.fr/montre-ma-marques.html? [R=301]
 
WRInaute discret
Salut sa fait quelque temps que j'ai pas pu essayer :(
voilà apres avoir essayer avec le code que tu ma fourni.
J'ai du changer le .asp en .php et ensuite sa redirige vers
Code:
montre-ma-marques.html? [R=301]

et forcement cette page n'existe pas ... il faudrai juste que sa me change le nom dans l'url mais que sa utilise quand meme le contenu de marques.php?id_rayon=X

merci d'avance.
 
WRInaute discret
après avoir mis en place la redirection des url.
Code:
#Casio
RewriteRule marque-montres-montre-casio\.html /marques.php?id_rayon=4 [L]
RewriteCond %{QUERY_STRING} id_rayon=4
#Beuchat
RewriteRule marque-montres-montre-beuchat\.html /marques.php?id_rayon=6 [L]
RewriteCond %{QUERY_STRING} id_rayon=6 
etc...

et celà pour chaque marque seul la 1ere marche pourquoi pas les autres ?
 
WRInaute impliqué
Je ne sais pas si ça a voir avec le pb, mais RewriteCond se met avant RewriteRule, pas apres.

Sinon, on discutait de deux règles par type de montre, et là tu n'en met qu'une.
 
WRInaute discret
J'ai tester avec RewriteCond devant RewriteRule et la même la 1ere ne marche plus.
On parlais de 2 règles une pour les marques et une pour les produits.

Pour le moment celle des marques ne marche déjà pas.

mais je ne comprend pas pourquoi la 1ere marque marche et celle d'après.

Merci d'avance
 
WRInaute impliqué
Nightwolf a dit:
J'ai tester avec RewriteCond devant RewriteRule et la même la 1ere ne marche plus.
On parlais de 2 règles une pour les marques et une pour les produits.

Pour le moment celle des marques ne marche déjà pas.

mais je ne comprend pas pourquoi la 1ere marque marche et celle d'après.

Merci d'avance

et bien celle d'après a une condition... C'est ta deuxième ligne : RewriteCond %{QUERY_STRING} id_rayon=4
Cette condition s'applique à la deuxième règle, du coup cette règle n'est jamais activée.

Enlève toutes les rewritecond, elle sont là pour les règles que tu n'a pas mises parmi celles que je t'avais proposées. C'est parce que tu ne les a pas mises que ça ne marche pas, car dans ce cas les conditions ne s'appliquent pas aux bonnes règles.

J'aurais quand même aimé que tu teste ce que j'avais proposé sans prendre deux lignes sur trois au hasard. Je te le remet ici. Je dis bien qu'il faut DEUX règles par type de montre:

Tu peux faire ça avec deux règles par type de montre (je n'ai pas testé):


Code:
RewriteCond %{QUERY_STRING}% ^id_rayon=X$
RewriteRule marques.asp http://www.mondomaine.com/montre-ma-marques.html [R=301]

RewriteRule montre-ma-marques.html /marques.php?id_rayon=X [L]

où ma-marque correspond a l'id X.

J'ai mis une extension html, ca évite des complications. En effet dans la plupart des configurations, apache ajoute un / à la fin des url qui n'ont pas d'extension.
 
WRInaute discret
donc avec ces 3 lignes sa marches, mais je suis obliger de les réécrire pour chaque marque.
Code:
RewriteCond %{QUERY_STRING}% ^id_rayon=4$
RewriteRule marques.asp http://www.planet-montre.com/montre-casio.html [R=301]
RewriteRule montre-casio.html /marques.php?id_rayon=4 [L] 
RewriteCond %{QUERY_STRING}% ^id_rayon=6$
RewriteRule marques.asp http://www.planet-montre.com/montre-beuchat.html [R=301]
RewriteRule montre-beuchat.html /marques.php?id_rayon=6 [L]
etc...

Donc si je vais sur l'url
http://www.planet-montre.com/montre-beuchat.html
ma page apparaît correctement
par contre si je vai sur
http://www.planet-montre.com/marques.php?id_rayon=6
l'url ne change pas.
 
WRInaute impliqué
Les règles qaue j'avais données correspdondaient au site tel que tu l'avais. elles réécrivent les pages asp vers les pages html.

Elles ne réécrivent pas les pages php.

Normalement, elle devraient réécrire
-http://www.planet-montre.com/marques.asp?id_rayon=6

en -http://www.planet-montre.com/montre-beuchat.html mais ce n'est pas le cas. As tu bien mis le [R=301] ?
 
Discussions similaires
Haut