2010-07-07 3 views
0

.hello - j'ai besoin de transformer les anciennes requêtes d'URL pour qu'elles correspondent au contenu des nouveaux sites;mod_rewrite pour transformer l'ancienne URL de demande en nouvelle

-à-dire « l'art-conseil » utilisé pour être « conseil » alors comment puis-je saisir urls « de conseil » et les transformer en art-conseil '

ma règle si^conseil $ MAKE^art-conseil $ et continuer à les règles ci-dessous ...

RewriteRule ^art-consultancy$ consultancy-02.php [L] 
RewriteRule ^art-consultancy/$ consultancy-02.php [L] 

RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)$ consultancy-02.php?section=$1 [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/$ consultancy-02.php?section=$1 [L] 
# 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)$ article-01.php [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$ article-01.php [L] 

toute aide appréciée!

ps. essayé Redirection/conseil/art-conseil sans aucune chance. Vous pensez que cette méthode nécessite un fichier réel?

mieux, Dc

+0

Quelle est votre question? Votre règle ne fonctionne pas? –

+0

comment puis-je obtenir le htaccess de changer de «conseil» à «art-conseil» avant le reste des règles ... – v3nt

Répondre

1

Vous essentiellement suffit de faire exactement ce que vous avez dit que vous vouliez faire, d'une manière similaire que vous avez fait avec les autres règles, donc je ne suis pas sûr combien cette admissible de la manière d'une « réponse » ... Mais, par souci d'exhaustivité, je vais aller de l'avant et d'écrire la chose complète:

(aussi, je condensé vos autres règles en lignes simples)

# Add in this condition because consultancy-02.php matches here too 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^consultancy(.*)$ art-consultancy$1 

RewriteRule ^art-consultancy/?$ consultancy-02.php [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/?$ consultancy-02.php?section=$1 [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ article-01.php [L] 

Si vous vouliez consultancy être transformé en art-consultancy dans l'URL du navigateur de l'utilisateur, vous devez remplacer le premier RewriteRule avec ceci:

RewriteRule ^consultancy(.*)$ /art-consultancy$1 [R=301,L] 

Je ne suis pas tout à fait sûr pourquoi le Redirect ne fonctionne pas comme vous attendiez à bien. Si vous regardez le error_log de votre serveur, cela pourrait vous le dire, mais sinon, il est difficile de spéculer sans savoir à quoi ressemble la structure de votre site.

+0

c'est parfait! RewriteRule^conseil (. *) $/Art-consultancy $ 1 [R = 301, L] merci beaucoup! Dan. – v3nt

Questions connexes