在Windows上开启Apache的urlRewrite非常简单,因为apache的用户配置都是放在http.conf文件中,要开启Rewrite功能,只需要把该文件中LoadModule rewrite_module modules/mod_rewrite.so前面的注视去掉,然后重启APACHE即可。 一、Ubuntu默认未开启Rewrite支持
其中,mods-available是指可用的模块,mods-enabled是指当前已经默认加载的模块。httpd.conf默认是个空文件,因为大部分加载工作都被分散到不同的配置文件里,总体加载配置文件是apache2.conf,其部分内容如下:
复制代码代码如下:
# Include module configuration:
# Include all the user configurations:
# Include ports listing
# Include the virtual host configurations:
复制代码代码如下:
Options +FollowSymLinks
RewriteEngine on RewriteCond %{HTTP_HOST} ^abc.com [NC] RewriteRule ^(.*)$ http://www.jbxue.com/$1 [L,R=301] RewriteCond %{HTTP_HOST} ^www.abc.com[NC] RewriteRule ^(.*)$ http://www.jbxue.com/$1 [L,R=301]
配置完成后,使用/etc/init.d/apache2 reload命令加载生效,这时,如果未开启Rewrite功能,则会出现500错误(浏览器显示),查看LOG错误如下: 二、手动开启加载Rewrite 1、使用终端工具连接服务器,输入管理员帐号和密码
2、执行加载Rewrite模块:
3、参照上文的目录配置,做个启动链接(下次启动自动加载):
复制代码代码如下:
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
4、重启apache:
复制代码代码如下:
/etc/init.d/apache2 restart
三、单一缺省网站配置及重定向参考
如果只有一个网站,且默认使用apache分配的默认www文件夹(没有创建单独的配置文件,比如/sites-availbe/jbxue.com),可能还需要修改/etc/apache2/sites-available/default这个文件,把其中的AllowOverride None修改为AllowOverride All,因为default配置里还默认关闭.htaccess重载,打开后.htaccess才会生效。
复制代码代码如下:
<VirtualHost 12.34.56.78:80>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit, CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
</VirtualHost> 配置完成后,重启 Apache,命令:/etc/init.d/apache2 restart (责任编辑:IT) |