安严中国SEO博客建站教程 | seo地图 | 博客地图

Apache服务器开启重定向Rewrite功能(.htaccess)的方法-安严苏州SEO博客
  • 安严网络!苏州SEO推广团队!
  • 提供seo技术学习教程!百度搜索词推广、seo外包服务。
  • 苏州SEO优化博客,分享网站搭建流程/seo技术教程,
  • 上海seo优化知识,网络营销推广,百度seo快排技术等SEO优化技术。
  • 网站seo服务/企业网站搭建/网站托管seo外包,请点这里网站服务

Apache服务器开启重定向Rewrite功能(.htaccess)的方法

服务器运维 安严seo 2019-07-6 14:02:08 22次浏览 未收录 0个评论 扫描二维码

.htaccess文件是现代SEO优化常用的功能,mod_rewrite是Apache的一个非常强大的功能,它可以开启网站.htaccess文件功能从而实现页面伪静态。这里苏州seo安严就教大家Apache服务器开启Rewrite功能(.htaccess环境)的步骤方法!

Apache开启.htaccess

一、windows服务器开启Apache的Rewrite功能

Windows上的Apache要开启Rewrite功能非常简单,因为apache的用户配置都是放在http.conf文件中,,只需要把该文件中“LoadModule rewrite_module modules/mod_rewrite.so”前面的注视去掉,然后重启apache环境即可,此时就能使用.htaccess网站重定向功能了。

二、Linux服务器开启Apache的Rewrite功能

但Linux上开启.htaccess重定向有所不同,默认Apache包配置是分散的,比如/etc/apache2目录可能包含conf.d、mods-available、mods-enabled、sites-available、sites-enabled文件夹,apache2.conf、envvars、httpd.conf(用户配置文件)、magic、ports.conf(APACHE端口配置)配置文件。系统不同、版本不同可能还会有其他细微差异。

Ubuntu默认未开启Rewrite支持

apche模块加载工作已分散到不同的配置文件,这样看起来似乎更为合理,管理起来也非常方便。但当用户需使用301重定向、伪静态等Rewrite功能时,一般都习惯于使用.htaccess文件配置,比如下面的301重定向:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [L,R=301]

配置完成后,使用/etc/init.d/apache2 reload命令加载生效,这时,如果未开启Rewrite功能,则会出现500错误(浏览器显示),查看LOG错误如下:

[Sun Jan 30 02:41:29 2011] [alert] [client 12.34.56.78] /srv/www/abc.com/public_html/.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration

说明需要开启Rewrite模块加载,下面看下如何开启Rewrite模块,加载开启过程如下。

一、判断Rewrite功能是否支持

1.检测Apache是否支持mod_rewrite

通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。

如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。

如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

二、检查确认目录Rewrite打开

Rewrite功能支持不代表我们的.htaccess文件就能生效,还需要专门打开指定目录的AllowOveride开关,打开脚本如下:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

其中AllowOverride只能定义在Directory这个Section里,具体用法可参考apache官方说明,以上脚本一般放在httpd.conf或/etc/httpd/conf.d/vhost.conf下面,尽量跟网站配置:<VirtualHost …> ….</VirtualHost>定义在一起,方便维护。

三、手动开启Apache加载Rewrite重定向功能

1、使用终端工具连接服务器,输入管理员帐号和密码

2、执行加载Rewrite模块命令:

a2enmod rewrite

执行后,会提示OK和重启Apache命令(/etc/init.d/apache2 restart)。

3、参照上文的目录配置,做个自启动链接(下次启动自动加载)命令:

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

执行后会在mods-available目录下创建一个快捷方式,连接到mods-enabled下rewrite模块。

4、重启apache,命令:

/etc/init.d/apache2 restart

注意:如果使用的是apache默认网站目录(一般是类似于/var/www文件夹),没有创建单独的自己配置文件,可能还需要修改/etc/apache2/sites-available/default这个文件,把其中的AllowOverride None修改为AllowOverride All,因为default配置里还默认关闭.htaccess重载,打开后.htaccess才会生效。

3、测试Rewrite的.htaccess网站重定向功能

以下为.htaccess测试实例:

# BEGIN
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule .*$ https://www.feiheseo.cn
</IfModule>
#END

测试方法,拷贝保存为.htaccess,上传到网站根目录下,访问网站任何路径页面,均会跳转到本博客,说明Rewrite已生效。

四、本地apache服务器支持.htaccess功能

如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开APACHE目录》》CONF目录里面》》httpd.conf文件用文本编辑器打开后,查找

Options FollowSymLinks

AllowOverride None

改为

Options FollowSymLinks

AllowOverride All

就可以了。

提醒:正常修改.htaccess一般都是即时生效,如果修改的是apache conf配置文件,一般需要重启apache一次才会生效。


苏州SEO博客版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Apache服务器开启重定向Rewrite功能(.htaccess)的方法:https://www.feiheseo.cn/xuexi/fuwuqi/3328.html
喜欢 (0)
[感谢支持]
分享 (0)
安严seo
关于作者:
2017年入行的一个网站seo优化技术小白。单身也很宅。没有长出倾国倾城的容貌但也迷住万千女人的心;没有拥有富可敌国的财富但也渴望征服世界的经济!

您必须 登录 才能发表评论!