【发布时间】:2009-08-24 18:12:31
【问题描述】:
我们正在使用 CakePHP 开发一个网站。 我们有一个带有 PHP5 的 Windows IIS 服务器(共享主机),它不支持 .htaccess 或 mod_rewrite,但我们仍然让网站正常运行并开发了很多东西。
当前的 URL 结构是这样的: mydomain/index.php/user/add
我们想将其更改为: mydomain/index.php?controller=user&action=add
我们希望这样做,因为我们面临一些意外的会话过期问题,我们怀疑这是由于用户从一个 URL 移动到另一个 URL,如下所示: mydomain/index.php/user/add 到 mydomain/index.php/list/edit 这会更改 IIS 或 PHP 的域,这会导致会话过期,但 cake 可以完美地解释页面。
如果有一种方法可以改变 Cake 的行为以获取带有问题和 & 符号的 URL,那就太好了。
提前致谢。
【问题讨论】:
-
您的网址中不应需要“index.php”。 Cake 旨在将控制器动作作为域/控制器/动作/参数执行。
-
是的,但是在我们使用 IIS 的情况下,它需要没有 index.php 的 index.php,它不会打开它,它会尝试找到该文件夹和其中的 index.php 文件,它会给出 404没有找到。
-
您可能想查看 ISAPI_Rewrite 2(免费)、ISAPI_Rewrite 3(付费)或 Microsoft IIS Rewrite Module (IIS7)。
标签: php iis mod-rewrite cakephp query-string