2012-01-26 3 views
0

J'ai un petit site où je l'ai écrit quelques règlesURL rewrite htaccess

RewriteEngine On 
RewriteRule ^[!/.]*([A-Za-z0-9]+)/?$ /index.php?id=$1 [NC,L] 

Cela redirige tous mes liens vers example.com/index.php. Alors que je veux qu'ils redirigent toutes les URL avec un répertoire example.com/dir pour être redirigé vers ce lien example.com/index.php, et les URL avec deux répertoires, example.com/dir1/dir2 devrait rediriger vers example.com/index2.php, et reste ne doit pas être redirigé.

+0

ajouter deux règles de réécriture avec une expression régulière différente . Avez-vous besoin d'aide avec regex? –

+1

Probablement mieux sur webmasters.stackexchange.com? –

+0

Quelques idées: http://httpd.apache.org/docs/current/rewrite/ – hakre

Répondre

0

vous pouvez utiliser le code ci-dessous .. Je vais vous expliquer un peu ..

http://www.example.com/customdir/index/1/

rép_personnalisé = Votre sous-répertoire

index = index.php

1 = Votre identifiant

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule customdir/(\w+)/?(\d+)?/? customdir/$1.php?id=$2 
+0

thx pour votre réponse, dans mon cas, les URL sont supposées avoir des noms de répertoires, c'est-à-dire mysite.com/abc (sur le répertoire) ou peuvent être mysite.com/abc/cde (deux répertoires), je suis supposé faire du répertoire un comme variable de chaîne de requête 1 et du répertoire deux comme variable de requête deux s'il vous plaît si vous pouvez donner une idée de cela (les noms de répertoires sont aléatoires car les répertoires sont créé à l'exécution - c'est la confusion principale pour moi) – user1114617