Ubuntu+Apache服务器开启rewrite功能

in cn •  7 years ago 

先发发牢骚

在写文章的时候却发现自己最想做的事就是发发牢骚,现在文章的抄袭太严重了,具体什么抄袭后面会说。

问题的提出

我只是想在服务器上装一个WordPress,使用固定链接,然后一切就不好了。

自己的服务器是Ubuntu 16.04.3 LTS,安装了LAMP。本来开启rewrite功能想必也是非常简单的。但在这么个简单的问题上自己花了一个多小时!!!

解决方法

1. 开启rewrite功能

sudo a2enmod rewrite

非常简单。

之前好像记得有个参数来告诉Apache服务器要不要使用.htaccess文件的,也很快找到了这个参数:AllowOverride

AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。

需要在Apache的配置文件中修改,此文件一般在/etc/apache2/apache2.conf,里面会有一个/var/www的例子:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

参照他的例子,我增加了(我的网站放在/var/www/html/中):

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

然后重启Apache就可以了:

sudo service apache2 restart

同质化或者抄袭问题

我在解决这个问题的时候,找了不少的文章,如:ubuntu 16.04 apache 开启Rewrite功能,里面都说了一个问题,那就是应该修改的Apache配置文件为:

/etc/apache2/sites-enabled/000-default/etc/apache2/sites-enabled/000-default。但实际上我的服务器中并没有这个文件,有一个类似文件,000-default.conf,感觉也差不多,我就根据教程把这个文件改了,重启,Apache出错。查了一下信息说是此位置不支持AllowOverride。然后就开始大批量的查找,很多文章都用的这一种说法,所以我换着法的试了好几次,终于放弃,最后终于在这里apache - How to Set AllowOverride all找到了解决方法。

唉,一生长叹(手动表情)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

@rileyge, 其实我就是来点赞的,别管我哈!