2012-07-24 3 views
1

bonjour j'ai le problème suivant concernant mod_rewrite:rewriterule mod_rewrite pour un même contenu

j'ai construire une page qui est appelée example.php

maintenant je suis toujours à la recherche d'un rewriterule pour la question suivante:

en raison des langues différentes mais le même contenu de la page example.php je voudrais avoir un rewriterule lorsqu'un utilisateur entre par exemple site.com/beispiel.php

ce que w être le même mot pour example en allemand. donc il n'y a qu'une seule page. mais l'URL imaginaire site.com/beispiel.php serait le même contenu. Donc s'il y a quelqu'un qui sait comment résoudre ce problème, j'apprécierais beaucoup. Merci beaucoup.

Répondre

0

Je pensais à ce sujet:

Si vous utilisez le traducteur google comme indiqué dans translate a PHP $string using google translator API

ensuite rediriger de PHP vers

www.yoursite.com/translate.php?translated_language=keyword_from_script 

Ensuite, utilisez un mod_rewrite de la dernière réponse avec cette paramètre, cela devrait fonctionner?

+0

D'accord, la traduction ne devrait pas poser de problème. Je pourrais aussi créer une table sur mon db. le problème est la redirection en utilisant mod_rewrite. J'ai 'RewriteRule^beispiel $/example' qui ne fonctionne pas – bonny

+0

Créer un ensemble de 301 redirections vers example.php – mlishn

0

Les redirections et les redirections internes sont deux choses différentes.

Une redirection HTTP avec un code 302 ou 301 implique plusieurs requêtes HTTP et l'utilisateur verra à la fin qu'il a été redirigé vers /example.php. Une redirection interne signifie desservir un fichier B sur le serveur pour un fichier A demandé, sans que l'utilisateur le sache.

La redirection interne n'a pas besoin de règles de mod-réécriture. Les directives Alias et AliasMatch peuvent être utilisées pour mapper certains fichiers demandés à un fichier réel.

Alias /beispiel.php /path/to/my/docroot/example.php 

La redirection externe peut également être effectuée sans mod_rewrite, en utilisant les directives Redirect et RedirectMatch.

Maintenant, vous pouvez également utiliser mod_rewrite pour effectuer ces deux types de redirections (interne & external). Avec les redirections externes qlways Commencez par essayer quelques rewriteRiles traitant des redirections 302. Quand cela fonctionnera, vous pouvez utiliser les redirections 301 car le navigateur enregistre 301 résultats et ne demande plus avant le redémarrage.

Si vous avez un grand nombre de redi directions à effectuer et que vous n'êtes pas bloqué avec les fichiers .htaccess (vous pouvez modifier les vrais fichiers de configuration apache), vous pouvez consulter RewriteMap pour accélérer vos rewriteRules.

Questions connexes