.htaccess文件无法使用apache2在Ubuntu 14.04上运行

时间:2014-07-14 18:51:52

标签: apache .htaccess mod-rewrite ubuntu rewrite

我的.htaccess文件在我的带有Apache 2的Ubuntu 14.04上不起作用 这是我的档案:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1

我如何解决我的问题?

4 个答案:

答案 0 :(得分:12)

根据您的信息我只能猜测("没有工作"不是非常具体)。
很可能你没有启用mod_rewrite。输入:

a2enmod rewrite

并在以下后重新启动Apache:

service apache2 restart

答案 1 :(得分:9)

第一步 打开文件

sudo vim /etc/apache2/apache2.conf

第二步 如果您在此行之前找到它,请删除注释符号(#)(行号187约) AccessFileName .htaccess

第三步 然后找到有的地方         选项索引FollowSymLinks         AllowOverride无         要求全部授予

替换"无"与"所有"

  

AllowOverride All

.htaccess它的作品!!

答案 2 :(得分:4)

如果是Ubuntu LAMP全新安装,您可以按照这些步骤进行后续操作。这只是以上几点的总结:

第1步:

如果您对Ubuntu服务器有sudo访问权限,请打开apache2.conf文件

root@etc/apache2$ vi apache2.conf

第2步:

Change Directory /var/www/ from AllowOverride None to AllowOverride All

share the file permission level for .htaccess from denied to granted

第3步:

Change the same settings in root@etc/apache2/sites-enabled/$ vi 000-default.conf file

第4步:

运行a2enmod rewrite

这一步非常重要。它会提示您重新启动服务器。

第5步: 重启服务器

service apache2 restart  

如果上述步骤失败,则运行

 sudo /etc/init.d/apache2 restart

答案 3 :(得分:1)

如果您在apache2上使用最新版本,则需要在/etc/apache2/sites-available/000-default.conf中添加以下行

您需要在此标记内添加以下内容

                选项索引FollowSymLinks MultiViews                 AllowOverride All                 订单允许,拒绝                 允许所有人

运行之后" service apache2 restart"