【发布时间】:2014-01-09 20:45:00
【问题描述】:
您好,我必须创建类似于“http://www.contract.com/user/profileview/index/MQ==”到“http://www.contract.com/profile/india/MQ==”的 URL。我们已经尝试使用 codeignitor 进行屏蔽并成功。但是来到 Zend 时,它会抛出错误“指定的控制器无效(印度)”。
我们已重写 htaccess 规则以在 codeignitor 中屏蔽 URL。同样适用于此处,但在这里不起作用。我的 htaccess 代码是
#php_value magic_quotes_gpc off
RewriteEngine on
Options -Indexes
Options FollowSymlinks
RewriteEngine On
RewriteBase /
#Admin
RewriteRule ^admin(.*)$ public_mvc/admin.php [L]
#RewriteRule ^profile/(.*)/(.*)/(.*)(/|)$ user/profileview/index/$2 [L,NC]
RewriteRule ^profile/(.*)/(.*)/(.*)(/|)$ user/profileview/index/$2 [L,NC]
#RewriteRule ^profile/(.*)/(.*)/(.*)/?$ user/profileview/index/$2 [L,NC,QSA]
# Also Tried Ones. Start
#RewriteRule ^profile/(.*)/(.*)/(.*)/$ /user/profileview/index/$1 [NC,L]
#RewriteRule ^profile/(.*)/(.*)/(.*)/?$ /user/profileview/index/$2 [NC,L]
#RewriteRule ^profile/(.*)/(.*)/(.*) /user/profileview/index/$2 [NC]
#RewriteRule ^/profile/(.*)/(.*)/(.*)/?$ /user/profileview/index/$2 [QSA]
# Also Tried Ones. End
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ public_mvc/index.php
Rewriterule ^$ /home [r=301,nc]
这有什么问题?我们尝试了很多类型的选项。但一切都白费了。您可以在代码中看到所有这些不同的尝试。请帮帮我。
提前致谢。
【问题讨论】:
-
您是否尝试使用 zend 路由器而不是 htaccess ? framework.zend.com/manual/1.12/en/zend.controller.router.html
-
如果你使用zend路由器,它会默认给你想要的结果。
标签: php apache .htaccess zend-framework mod-rewrite