благодаря предварително за всяка помощ. Имам настройка на Zend Framework за нашето уеб приложение и досега работех добре с основно SSL пренасочване. Бихме искали да пренасочим всички URL адреси към SSL, с изключение на няколко пътя. Един път работи добре и просто зарежда файлове с изображения. Но другият път не го прави и това е контролер на Zend Framework с действие, изискващо аргументи на заявката.
Ето нашата текуща, работеща конфигурация:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !(/images)
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Горното работи за изключване на изображения и позволяване на ZF да функционира, но бихме искали също да изключим всичко в URI пътя /wsrv/itemdata и се опитахме да използваме това условие:
RewriteCond %{REQUEST_URI} !(/wsrv/itemdata)
/wsrv/itemdata може да включва няколко параметъра в този формат:
/wsrv/itemdata/item_nbr/111111/some_other_arg/a-value
Нашият проблем е, че той винаги пренасочва към /index.php, който е насочен към SSL. Имаме нужда от пренасочване към index.php, за да функционира рамката, но не и да използваме ssl само за единичен контролер и действие /wsrv/itemdata.
Оценявам всяка помощ. Благодаря!
РЕДАКТИРАНЕ 6-4-12: (РЕШЕНО! най-вече) Това не е пренаписването на URL адреса, нещо в моето зареждане за Zend Framework. Добавих правилата по-долу и използвах някои тестови файлове, правилата работят. Но нещо в настройката на моята рамка го пренасочва.
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !(/images/)
RewriteCond %{REQUEST_URI} !(/wsrv/itemdata/)
RewriteCond %{REQUEST_URI} !(/test/make/)
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Горното работи, с изключение на реда /wsrv/itemdata, който минава през рамката.