ZF1 子文件夹 .htaccess 重写问题



我在.htaccess上遇到了一些问题。我正在为我的项目使用 ZF1 并尝试实现以下方案。


  • http://project.local/user/event/index

  • http://project.local/client-area/sample-event/en

  • http://project.local/client-area/sample-event/en/register

  • http://project.local/client-area/sample-event/en/detail

project.local 是一个指向公共目录的虚拟主机。第一个 url 直接从控制器提供,其中"user"是模块名称,"event"是控制器名称,对于其他 url,"client-area"是存在于 ZF1 公共目录中的目录,它包含 .htaccess 文件。它包含以下内容:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /user/event/detail/id/30 [NC,L]

当我尝试访问其他 url 时,它会将我重定向到默认模块的错误控制器,但我希望它从用户模块中的事件控制器提供内容。

请帮助解决此问题。

据我所知,所有请求都将发送到"/user/event/detail/id/30",我认为您正在寻找的内容更像是:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^$ /user/event/detail/id/30 [NC.L]
RewriteRule ^.*$ index.php [NC,L]

我还没有对此进行测试,我相信这实际上可以使用路由/设置默认路由在 ZF 中解决。

最新更新