2015-09-18 2 views
0

У меня есть следующее правило переписывают:RewriteRule, чтобы слеш в строке запроса

RewriteRule ^([\w-]+)$ modules.php?mod_name=$1 

Это позволяет мне открыть URL, как:

mydomain.com/settings 

Это требует файл PHP в следующий формат:

modules.php?mod_name=settings 

Однако, я должен назвать мой скрипт со значениями mod_name, которые содержат путь, например:

modules.php?mod_name=settings/preferences.php?id=1103 

Я хотел бы правилом переписана, чтобы иметь возможность принять выше в следующем формате:

mydomain.com/settings/preferences/1103 

Любые идеи, как это можно сделать?

+0

http://www.webconfs.com/url-rewriting-tool.php попробовать этот URL – codeBloger

ответ

1

RewriteRule ^([\w-]+)$ modules.php?mod_name=$1

Ваши \w матчи слово символы ([A-Z] [A-Z] [0-9]) и дефис (-) (при этом не /).

Чтобы включить /, вам нужно что-то вроде ^([\w-/]+)$

+0

Спасибо, я пытался^([\ w /]) $, но это не сработало, но затем попытался^([\ w - /] +) $ и, похоже, сработал. – Ahmed

+0

Doh! Я отредактировал, и вы совершенно правы. [...] просто соответствует * одному * символов, вам нужно + для соответствия * одному или нескольким * – mikeb

Смежные вопросы