我的.htaccess文件在我的带有Apache 2的Ubuntu 14.04上不起作用 这是我的档案:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1
我如何解决我的问题?
答案 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"