Я использую Apache 2.2 и mod_rewrite. Я хотел бы взять следующие URL и сопоставить их с другим URL. Шаблон прост и так:
http://domain/test/ex1.html -> http://domain/app/index.php/content/?name=ex1
Я попробовал следующее в файле .htaccess (поместите в каталог / test / в docroot):
RewriteEngine On
RewriteBase /app/
RewriteRule (.*)\.html index.php/content/?name=$1
и
RewriteEngine On
RewriteRule (.*)\.html /app/index.php/content/?name=$1
Я не был уверен, что обратная ссылка была правильной, поэтому установил 0 и 2 доллара, но, похоже, никогда не помогал.
Я также попытался установить RewriteLogLevel на 9.
Есть шаг, где он почти есть:
переписать 'ex1.html' -> 'index.php / content /? name = ex1'
Последняя строка журнала перезаписи выглядит следующим образом:
Внутренний редирект [perdir / var / www / domain / htdocs / test /] с помощью /app/index.php/content/ [ВНУТРЕННЕГО НАПРАВЛЕНИЯ]
Как мне переписать это в /app/index.php/content/?name=ex1?
EDIT
поэтому использование этого в качестве .htacces в файле docroot работает для RedirectMatch:
RewriteEngine On
RewriteBase /
RedirectMatch ^(.*)/(.*)\.html$ http://domain/app/index.php/content/?name=$2
#this doesnt work - adding to docroot allows for it to pick up but still using test/ex1 rather than just ex1
#RewriteRule ^(.*)\.html$ /app/index.php/content/?name=$1
Буду признателен за любую помощь в получении нижнего RewriteRule (который в данный момент закомментирован).
спасибо