我已经在Cakephp 2.3上构建了一个webapp ..在我的locaLhost上所有网址都很好..我可以访问我这样的网址
http://localhost/Cakephp
但现在当我在根文件夹中的服务器上传网站时...我无法像这样访问我的网址
http://www.myweb.com
相反它可以像这样访问
http://www.myweb.com/index.php/login
我认为可能存在的问题是我的app / webroot文件夹中的.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
我认为这种index.php导致问题..我不知道.htaccess所以不知道如何删除它。
如何从我的网址中获取index.php?
答案 0 :(得分:2)
检查mod_rewrite
模块是否已安装?如果没有在httpd.conf
文件中启用它。
找到以下行并删除前面的#
(表示取消注释)。
LoadModule rewrite_module modules/mod_rewrite.so
另外,请不要忘记使用以下命令重新启动apache http服务:
service httpd restart
以下是从CPanel编辑http.conf文件的步骤:
了解详情:http://www.ehow.com/how_8696084_edit-httpdconf-cpanel.html#ixzz2YRDEgOMT
答案 1 :(得分:2)
如果正确加载了mod_rewrite
,.htaccess
文件就位,index.php
仍然出现在链接中,那么它很可能是core.php
框架配置文件的问题。
就我而言,App.baseUrl
配置选项存在问题:
Configure::write('App.baseUrl', env('SCRIPT_NAME'));
以下是我通过评论core.php
中的以下行来解决该问题(以及其他一些重定向问题)的方法:
// Configure::write('App.baseUrl', env('SCRIPT_NAME'));
答案 2 :(得分:1)
在ubuntu上,
sudo a2enmod rewrite
sudo systemctl restart apache2