我们在godaddy有两个托管包.我们的实时网站使用以下.htaccess文件正常工作.网站可以访问,而不使用url中的index.PHP.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP?/$1 [L]
我们在其他托管也是由godaddy使用了相同的htaccess文件和相同的代码.我们只想使生产和开发实例分开.但是在其他托管与相同的代码和htaccess文件,网站显示404页面未找到错误,但网站工程正常与index.PHP在url.
我们在两台服务器上都有相同的PHP版本.只是想知道可能是什么问题?
当我将我的100%工作代码移动到专用的Debian服务器时,我也面临着类似的问题.经过3个小时的研究,我发现为什么htaccess文件不工作.您需要允许在Apache配置中覆盖htaccess.
以下是步骤.
步骤1:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP/$1 [L,QSA] </IfModule>
第2步:
$config['index_page'] = '';
步骤3:
允许在Apache配置(命令)中覆盖htaccess
sudo nano /etc/apache2/apache2.conf
并编辑文件&改成
AllowOverride All
为www文件夹
步骤4:
重启Apache(Command)
sudo /etc/init.d/apache2 restart
在对apache2.conf文件进行任何更改之前,请确保创建该文件的备份副本.如果您使用Debian服务器,您可以避免sudo命令.我相信你知道如何使用ssh客户端软件(如油灰)连接到您的服务器.如果此方法不适合您,请在下面评论.