apache mod переписать в подкаталог - PullRequest
0 голосов
/ 14 марта 2012

быстрый вопрос о переписывании модов в подкаталоге, когда у меня уже есть правило перезаписи в webroot для удаления 'index.php'

мой .htaccess выглядит так:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

У меня есть каталог API (/webroot/api/index.php), где я хочу иметь RESTful API (Restler) для обслуживания запросов в приложении - поэтому мой вопрос ..

, чтобы сделать RESTfulЗапросы мне нужно использовать следующий формат URL:

/webroot/api/index.php/user/get/ (to get all the users)

что я хотел бы достичь, это что-то в форме:

/webroot/api/user/get/ (return a list of users)

, который по-прежнему сохраняет базовые правила перезаписи для основноговебсайт

/webroot/members/  (display a list of users in the main applications)

большое спасибо, Justen

1 Ответ

0 голосов
/ 14 марта 2012

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

Это говорит о том, что если мы сопоставим index.php, то все готово (и перезапись не происходит).Это то, что вы хотите?Если запрос точно для /index.php без конечного материала, то он остается один.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

К удалить index.php, вы хотите что-то вроде:

RewriteRule ^index.php/(.*) $1 [L]

Например, index.php/foo переходит к foo (относительная перезапись: затем RewriteBase получает привязку к нему, превращаясь в URL /foo для обратной связи в конвейер запросов.)

...