2010-11-14 10 views
0

J'ai un problème avec mod_rewrite. Je veux faire:Apache mod_rewrite, réécriture d'URL, puis redirection problème

j'ai urls sous forme de mydomain.com/index.php/tag/123/some-name/

je veux changer cette URL pour mydomain.com/some -nom/

j'ai écrit ci-dessous le code dans mon fichier .htaccess et cela ne fonctionne pas :-(

premier rewrite

RewriteCond% {THE_REQUEST} ^/index.php/tag/(. )/$ [NC] RéécrireRule^inde x.php/tag/([0-9] +)/(.)/$/2 $/[R = 301, L]

redirigent ensuite à index.phe

RewriteRule^(. *)/$ /index.php?tagname=$1 [L]

mes URL ne sont pas réécrites dans le navigateur ni dans index.php.

Merci à l'avance, Ravi

+0

"cela ne fonctionne pas" n'est pas très descriptif. En plus de nous dire ce que vous voulez ou vous attendez, s'il vous plaît [dites-nous] (http://tinyurl.com/so-hints) ce qui se passe réellement. En outre, veuillez mettre en forme des échantillons. Vous pouvez mettre en retrait quatre lignes (le bouton "101 \ n010" le fera pour vous) pour mettre en forme du texte en tant que code ou utiliser ">" pour citer un texte. Veuillez éditer votre question (cliquez sur le lien "modifier" ci-dessous) et formater votre exemple .htaccess. Pour d'autres conseils de mise en forme, cliquez sur le point d'interrogation orange dans la barre d'outils de l'éditeur de texte. – outis

Répondre

0

Si le numéro d'étiquette est nécessaire pour accéder à la bonne page, vous devrez faire plus que l'utilisation mod_rewrite ...

Sinon, c'est ce que vous cherchez pour:

RewriteRule ^index.php/tag/[0-9]+/(.*)$ $1 [R] 
RewriteRule ^(.*)$ index.php?tagname=$1 [L] 

maintenant, quelqu'un qui visite: mydomain.com/tag/123/wierdtagname sera redirigés vers mydomain.com/wierdtagname qui se déroulera mydomain.com/index.php?tagname=wierdtagname