Zend Framework на IIS6 с перезаписью ISAPI
Я пытаюсь переместить приложение Zend из Apache2 в IIS6, поэтому я решил установить ISAPI Rewrite 3, как рекомендовано здесь, поэтому я скопировал папку дырочного приложения в папку c:\inetpub\wwwroot\ и сделал так, чтобы веб-сайт IIS по умолчанию указывал в папку / публично.
Теперь мой.htaccess в /public выглядит следующим образом.
RewriteRule (?!\.(js|ico|gif|jpg|png|css|swf))$ index.php
Но ничего не происходит, я могу получить доступ к домашней странице в порядке, и статические файлы тоже, но мои URL не переписываются, так что ни один из моих контроллеров не будет работать. Любая идея? Спасибо!
1 ответ
Решение
Если вы используете ISAPI_Rewrite 3, вам нужно будет использовать версию правил Apache, поскольку она совместима с Apache, т.е.
RewriteEngine on
RewriteBase /
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
или лучше
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php