2010-01-21 5 views
1

я использую IIRF v2.1 для перезаписи ПравилоIIRF Rewrite Rule для IIS7

я пишу на правила, как это но не работает

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

, если я использую follwoing URL

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

, что мне нужно, действительный URL-адрес: http://localhost/prod.php?iid=22

Да Рабочая версия:

RewriteRule/^ (prod | pag | staf)/([A-Za-z0-9 -] +) /? $ /$1.php?iid=$2 [QSA, L] , но проблема здесь - все стиль и включенные файлы не включены.

Благодаря

+0

Есть ли у вас другие действующие правила? Попытка сузить, если это связано с вашим правилом или конфигурацией IIRF. –

+0

Для человека, который голосовал, чтобы закрыть, это связано с программированием, потому что это действительно вопрос регулярного выражения. –

+0

Я думаю, что это может быть более подходящим для serverfault. – Cheeso

ответ

1

просто написать URL, как этот

RewriteRule ^/(прод | вол | СТАФ)/([A-Za-z0-9 -] +)/$ /$1.php?iid=$2 [QSA? , L]

и положить/перед вашими таблицами стилей и других включает в себя

как

если ваш старый стиль лист включают в себя, как это

style/style.css 

chnage it to

/style/style.css 

для изображений и ссылок. надеюсь, что это сработает.

0

Если вы URL, всегда будет содержать цифры, а затем слизняк, это регулярное выражение будет получить каждую часть:

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

Вашего регулярное выражение не позволяет для нового пункта следовать за окончательная косая черта.

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

/? $ Последовательность, которая заканчивается картина говорит ... слэш (может быть), а затем в конце строки. Однако ваш URL-адрес не заканчивается косой чертой. Он заканчивается косой чертой и текстом «новый элемент».

регулярное выражение, которое захватывает что будет что-то вроде этого:

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

... который говорит, вы не волнует, что приходит после необязательного слэша, и потому, что вы используете QSA , то любая строка запроса в исходном URL-адресе добавляется к исходящему URL-адресу.

Но это в основном отбрасывает часть «нового элемента» входящего URL-запроса, который я не уверен, что вы хотите сделать.