安装好apache2后默认是没有开启rewrite模块的,需要我们手动进行配置。
在/etc/apache2目录下有几个需要配置的文件和目录:
-
mods-available:包含Apache模块及其配置文件
-
mods-enabled:已开启模块的目录,存放的是已开启模块的链接,分别对应/etc/apache2/mods-available目录下的模块,Apache开启时将会加载该目录下链接对应的模块和配置文件
-
sites-available:包含Apache的虚拟主机配置文件
-
sites-enabled:对应/etc/apache2/sites-available目录下配置文件的链接,与mods-enabled类似。
开启rewrite模块的方法很简单,在mods-available中可以看到名为rewrite.load的文件,只需执行以下命令就可以加载该模块:
sudo a2enmod rewrite
然后在 mods-enabled目录下就会生成相应的链接,接着还需要修改Apache的虚拟主机配置文件。
sudo vim /etc/apache2/sites-enabled/000-default
将AllowOverride None 修改为 AllowOverride All,如果没有看到这项内容,可以修改apache2.conf配置文件:
sudo vim /etc/apache2/apache2.conf
将其中的AllowOverride None 全部替换为 AllowOverride All:
:%s/AllowOverride None/AllowOverride All
最后重启apache即可:
sudo /etc/init.d/apache2 restart
第二种方法,配置/etc/apache2/apache2.conf
在最后加上
SetEnvIfNoCase Referer "^http://www.scifipedia.org" local_ref=1
SetEnvIfNoCase Referer "^http://scifipedia.org" local_ref=1
<FilesMatch "\.(png|jpeg|bmp|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
</FilesMatch>
域名和IP换成你的。即可