mod_rewrite已经启用但仍然获得404

时间:2016-02-11 01:01:35

标签: apache .htaccess mod-rewrite url-rewriting

我正在构建一个URL友好系统。主机是本地机器,Ubuntu 15.10。

该软件正在运行,但我犯了一个错误并删除了一个apache2目录。所以我用sudo apt-get purge apache2 php5 mysql-server清除了apache,然后重新安装了所有:sudo apt-get install apache2 php5 mysql-server

重新安装后,我测试了一个公共站点并且服务器已启用。然后,最后,我再次启用了mod_rewrite:sudo a2enmod rewrite。并重新启动apache2:sudo systemctl restart apache2。所以,一切似乎都在这个地方,但是当我尝试我的友好网址系统时,之前有效,我只是得到404错误。

有人可以帮助我吗?

.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

请注意,此.htaccess与之前的工作方式相同,并且我没有对源代码进行任何更改。

1 个答案:

答案 0 :(得分:2)

检查httpd.conf s(以及.htaccess)配置文件中的AllowOverride指令。

将其设置为允许AllowOverride All 文件中的所有声明:

def print_down(s):
    print("\n".join(s))
相关问题