设为首页 收藏本站
查看: 590|回复: 0

[经验分享] 如何开启Apache Rewrite功能

[复制链接]

尚未签到

发表于 2018-11-19 09:55:50 | 显示全部楼层 |阅读模式
一、Ubuntu默认未开启Rewrite支持  
apche模块加载工作已分散到不同的配置文件,这样看起来似乎更为合理,管理起来也非常方便。下面看一下如何开启Rewrite模块,当用户需使用301重定向、伪静态等Rewrite功能时,一般都习惯于使用.htaccess文件配置,比如下面的301重定向:
  
Options +FollowSymLinks
  
RewriteEngine on
  
RewriteCond %{HTTP_HOST} ^abc.com [NC]
  
RewriteRule ^(.*)$  [L,R=301]
  

  
配置完成后,使用/etc/init.d/ reload命令加载生效,这时,如果未开启Rewrite功能,则会出现(浏览器显示),查看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
  
1、使用终端工具连接服务器,输入管理员帐号和密码
  
2、执行加载Rewrite模块:
  
a2enmod rewrite
  
执行后,会提示OK和重启Apache命令(/etc/init.d/ restart)。
  
3、参照上文的目录配置,做个启动链接(下次启动自动加载):
  
ln -s /etc//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才会生效。
  
三、如何判断Rewrite已经开启
  
1、检查确认Rewrite模块加载
  
本文测试是在CentOS 6系统上,路径为:/etc/httpd/conf/httpd.conf
  
LoadModule rewrite_module modules/mod_rewrite.so
  
如果前面有注释就去掉即可,重启APACHE。
  
2、检查确认目录Rewrite打开
  
Rewrite库加载不代表我们的.htaccess文件就能生效,还需要专门打开指定目录的AllowOveride开关,脚本如下:
  

  
Options Indexes FollowSymLinks
  
AllowOverride All
  
Order allow,deny
  
Allow from all
  

  
其中AllowOverride只能定义在Directory这个Section里,具体用法可参考apache官方说明(下文链接),以上脚本一般放在httpd.conf或/etc/httpd/conf.d/vhost.conf下面,尽量更网站配置的:
  
....
  
定义在一起,方便维护。
  
3、测试Rewrite功能
  
以下为.htaccess测试实例:
  
# BEGIN
  

  
RewriteEngine  on
  
RewriteBase /
  
RewriteRule .*$
  

  
#END
  

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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636871-1-1.html 上篇帖子: Apache默认编码修改 下篇帖子: apache配置文件http.conf详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表