Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp更改URL行为_Php_Iis_Mod Rewrite_Cakephp_Query String - Fatal编程技术网

Cakephp更改URL行为

Cakephp更改URL行为,php,iis,mod-rewrite,cakephp,query-string,Php,Iis,Mod Rewrite,Cakephp,Query String,我们正在使用CakePHP开发一个网站。 我们有一个带有PHP5的windows IIS服务器(共享主机),它不支持.htaccess或mod_rewrite,但我们仍然有一个运行的站点,并开发了很多东西 当前URL结构如下所示: mydomain/index.php/user/add 我们希望将其更改为: mydomain/index.php?controller=user&action=add 我们希望这样做,因为我们面临一些意外的会话过期问题,我们怀疑这是由于用户从一个url移动到另一个u

我们正在使用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可以完美地解释页面

如果有一种方法可以改变蛋糕的性质,把URL的问题和障碍带到一起,那就太好了


提前感谢。

您可能想尝试以下内容:

1) 将IIS文档根指向app/webroot 2) 通过访问来调用您的应用程序

至于将其更改为controller=user&action=add,我唯一能建议的是向index.php文件中添加代码,将“controller=user&action=add”格式转换为url=/user/add格式。您可能还需要检查路由器,看看是否有可以用来更改这些内容的功能


如果您需要更多帮助,我会在irc.freenode.net中发布这个问题#cakephp

会话过期不是由url结构引起的。 你查过了吗

  • Configure::write('Session.timeout','3600');在core.php中。再长一点
  • Configure::write('Security.level','high');在core.php中。中等或低
  • Configure::write('Session.checkAgent',false);在core.php中,将其设为false。可能会导致ajax调用出现问题

  • 在URL中不需要“index.php”。Cake被设计为以domain/controller/action/params的形式执行控制器操作。是的,但是在我们的IIS中,它需要index.php而不需要index.php。它不会打开它,它会尝试查找该文件夹和其中的index.php文件,其中给出404 not found。您可能想查看ISAPI_Rewrite 2(免费),ISAPI_Rewrite 3(付费)或Microsoft IIS重写模块(IIS7)。您好,我不确定将安全级别从高降低到低或将checkAgent设置为false是否安全。你能给我指个地方吗,在那里我可以找到这个安全级别的作用以及它会产生什么影响?听起来你需要阅读core.php()中的第130到147行,这就解决了!我们仍然有一些问题,但是基本问题已经解决了。谢谢你的回答!这是有用的。