0
我在ZF2路由加密參數有「/」在裏面,比如:Zend框架路由以「/」
http://domain.com/request/$2y$14$OmovR9wA1TnBG2fxdKuU9ORYTPGChgfyesGVxilP74**/**2F2t8eJgbNF2
在提交這一請求的URL轉向
http://domain.com/request/$2y$14$OmovR9wA1TnBG2fxdKuU9ORYTPGChgfyesGVxilP74**%**2F2t8eJgbNF2
的
這會導致一個問題,一個Apache服務器拋出一個錯誤說沒有找到頁面。有沒有一種方法,我可以停止在參數字段中將「/」轉換爲「%」。我的.htaccess文件是
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
編輯
路線代碼:=> 「/」,在Zend的
'exampleroute' => array(
'type' => 'segment',
'options' => array(
'route' => '/exampleroute/[:regexparameter]',
'constraints' => array(
'regexparameter' => '[$.a-zA-z0-9_-]*',
),
'defaults' => array(
'__NAMESPACE__' => 'Mynamespace\Controller',
'controller' => 'exampleroute',
'action' => 'example',
),
),
),
我是否正確理解你改變了核心文件?應該有另外一種方法,我確定你的路由配置只需要一點點調整;) – Sam
我在zend的bug頁面看到一篇關於它在zf 1中出現問題的文章。我簡單地將它應用於zf 2。有什麼不對嗎? – snab
我不會只是說「是」,因爲它很大程度上取決於實現......正如我所說,我認爲你的路由配置是所有需要觸及的;) – Sam