2010-01-21 9 views
1

J'utilise v2.1 IIRF pour Rewrite RègleIIRF Règle pour Rewrite IIS7

j'écris sur la règle comme cela, mais sa ne fonctionne pas

RewriteRule ^(prod|pag|staf)/([A-Za-z0-9-]+)/?$ $1.php?iid=$2 [QSA,L] 

si j'utilise follwoing url

http://localhost/prod/22/new-item

ce que j'ai besoin URL réelle est http://localhost/prod.php?iid=22

oui la version de travail est

RewriteRule/^ (prod | pag | staf)/([A-Za-z0-9 -] +) /? $ /$1.php?iid=$2 [QSA, L] mais le problème ici est tout le style et les fichiers d'inclusion ne sont pas inclus.

Merci

+0

Avez-vous d'autres règles qui fonctionnent? Essayer d'affiner si c'est lié à votre règle ou à la configuration de l'IIFF. –

+0

Pour la personne qui a voté pour la clôture, c'est lié à la programmation parce que c'est vraiment une question de regex. –

+0

Je pense que cela pourrait être plus approprié pour serverfault. – Cheeso

Répondre

1

juste écrire url comme cette

RewriteRule ^/(prod | pag | STAF)/([A-Za-z0-9 -] +)//$1.php?iid=$2 $ [QSA? , L]

et de mettre/avant vos feuilles de style et autres comprend

comme

si votre ancienne feuille de style est comme celui-ci comprend

style/style.css 

chnage à

/style/style.css 

même pour l'image et les liens. espérons que cela fonctionnera bien.

0

Si vous êtes URL contiennent toujours les numéros puis la limace, cette regex obtiendra chaque partie:

^(prod|pag|staf)/([0-9]+)/([A-Za-z0-9-]+)/? 
1

Votre regex ne permet pas de nouveau point de suivre la barre oblique finale.

RewriteRule ^(prod|pag|staf)/([A-Za-z0-9-]+)/?$ $1.php?iid=$2 [QSA,L]

Le /? Séquence $ qui se termine le modèle dit ... une barre oblique (peut-être), puis la fin de la chaîne. Votre URL, cependant, ne se termine pas par une barre oblique. Il se termine par une barre oblique et le texte "new-item".

Une regex qui capture qui serait quelque chose comme ceci:

RewriteRule ^(prod|pag|staf)/([A-Za-z0-9-]+)/? $1.php?iid=$2 [QSA,L]

... qui dit, vous ne se soucient pas de ce qui vient après la barre oblique en option, et parce que vous utilisez QSA , puis toute chaîne de requête dans l'URL d'origine est ajoutée à l'URL sortante. Mais cela éliminerait fondamentalement la partie "nouvel élément" de la demande d'URL entrante, que je ne suis pas sûr que vous vouliez faire.

Questions connexes