2

我已经在 Cakephp 2.3 上构建了一个 webapp .. 在我的 locaLhost 上所有 url 都很好.. 我可以像这样访问我的 url

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?

4

3 回答 3

3

那么,应该没问题吧?你已经有 mod_rewrite 了吗?

如果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'));
于 2014-05-18T21:02:26.107 回答
2

检查mod_rewrite模块是否安装?如果不是请在httpd.conf文件中启用它。

找到以下行并将其#前面的删除(表示取消注释)。

 LoadModule rewrite_module modules/mod_rewrite.so

另外不要忘记使用以下命令重新启动 apache http 服务:

 service httpd restart

以下是从 CPanel 编辑 http.conf 文件的步骤:

  1. 以 root 用户身份登录 WHM/cPanel。
  2. 打开“服务配置”部分。
  3. 打开“Apache 配置”部分。
  4. 单击“全局配置”以访问 httpd.conf 的设置,如通过 cPanel 显示的那样。
  5. 进行所需的更改,然后单击“保存”按钮。这将保存更改,然后重新启动 Apache 以便应用更改。

阅读更多:http ://www.ehow.com/how_8696084_edit-httpdconf-cpanel.html#ixzz2YRDEgOMT

在 IIS 服务器上阅读此链接以启用 mod_rewrite

于 2013-07-08T06:13:55.657 回答
1

在 ubuntu 上,

sudo a2enmod rewrite
sudo systemctl restart apache2
于 2020-04-07T14:58:56.980 回答