【发布时间】:2011-05-21 23:20:08
【问题描述】:
我对在 CakePHP 中运行我的示例必须做什么感到非常困惑......
我正在使用 WAMP 服务器,它位于“C:/program files/wamp/”中,我为我的项目使用另一个分区:“E:/Projects/”。
有一个学习 CakePHP 的文件夹:“E:/Projects/cakephp/”。我已将所有 CakePHP 提取的内容放在该文件夹中(包括:index.php、.htaccess、readme.txt 和文件夹:app、cake、plugins、vendors)...
首先,我在 Apache 中设置了一个别名 (test) 指向“E:/Projects/cakephp/”,但它不起作用(消息:糟糕!此链接似乎已损坏。)
经过一番搜索,我发现我必须将别名设置为另一个文件夹:“E:/Projects/cakephp/app/webroot/”,它运行良好并显示了第一页CakePHP 框架。
我解决了第一页中的所有问题(使用 CakePHP 手册)。我尝试按照 CakePHP 博客教程...我制作了一个模型、一个控制器和一个视图页面(都与“帖子”主题相关),但是当我尝试查看结果时,我刚刚收到了 WAMP 服务器的第一页(显示地址有问题)
我使用了地址:“http://localhost/test/posts/index”(不起作用) 然后,我尝试将 index.php 放入 url: "http://localhost/test/index.php/posts/index" 并且成功了!
.htaccess 文件当我尝试到达根目录时“http://localhost/test/”工作完美,我不知道出了什么问题!
xx 我在 StackOverflow 中发现了同样的问题,here。它的所有设置都与我的相似,只是他似乎将别名设置为 CakePHP 的根目录,但它对我不起作用!
实际上我找不到如何使用对他有帮助的解决方案 (link),因为我认为我的情况有点不同!
我的以下 cakephp 文件夹的 htaccess 文件如下,
cakephp 的根
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /test/
RewriteRule ^$ /app/webroot/ [L]
RewriteRule (.*) /app/webroot/$1 [L]
</IfModule>
/app
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /test/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
/app/webroot
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
希望有人能帮帮我,我真的累死了……
提前感谢您的时间和解决方案!
------------------------------------------ ----------------------------------
哇哦!我找到了答案!我对所有的 htaccess 文件都做了很多更改!如果您也遇到此问题,请先删除所有更改,然后使用此link 作为一个很好的帮助! 希望对你也有帮助!欢呼!很多人! :D
【问题讨论】:
标签: .htaccess cakephp mod-rewrite wamp wampserver