当前位置: 首页 > news >正文

apache配置rewrite及.htaccess文件

为什么80%的码农都做不了架构师?>>>   hot3.png

apache配置rewrite及.htaccess文件

今天看到一个哥们的帖子发了个rewrite的帖子,以前也写过一个,配置挺简单的,但当时没注意这个问题,当时没有用到.htaccess文件,在机子上测试了一下,发现确实没法用,于是开始找问题的所在。

自己从头搭建了一下:

  1. 首先确定您使用的 Apache 版本,及是否加载了
mod_Rewrite

模块。

 简单方法 
echo phpinfo();

看apache的mod里有没有

rewrite
 如果有跳过此步

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:

  LoadModule Rewrite_module libexec/mod_Rewrite.so
  AddModule mod_Rewrite.c

Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:

  LoadModule Rewrite_module modules/mod_Rewrite.so

注: 这里输入引用文本:如果前面有#,将其去掉。并且保证你的apache文件里有mod_Rewrite.so文件(1.X版的要有mod_Rewrite.c)。

  1. 配置Apache配置文件httpd.conf实现rewrite

找到

<IfModule mod_Rewrite.c>

</IfModule>

没有的自己添加,然后之间写入你的rewrite规则,例如:

<IfModule mod_Rewrite.c>
RewriteEngine On
RewriteRule ^test.htm$  test.php
</IfModule>

3.此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用,重启apache,rewrite配置就完了。

4.让apache支持.htaccess

<IfModule mod_Rewrite.c>

里的代码删除掉

找到

复制代码

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

复制代码 把里边的

AllowOverride None

改为

Allow Override All

这样.htaccess文件才能启用。

5.创建一个.htaccess文件,win下可以用notepad++之类的编辑器建(记事本不行),要是嫌麻烦此文档附件中有,放在项目目录下,然后在里边写上自己的规则。

RewriteEngine on
Rewriterule ^test.htm$ test.php 

6.重启apache就行了

7.一般的apache以上配置就行了,但我的还不行,所以研究了一下apache的配置文件发现了这样一个参数:

AccessFileName access.ht

  意思是;AccessFileName定义每个目录下的访问控制文件的文件名,缺省为.htaccess (大多数人直接就是.htaccess,所以好多网上教程都没写这步,而我的是access.ht),可以通过更改这个文件,来改变不同目录的访问控制限制。

将之改为

AccessFileName .htaccess

8.重启apache就行了。

题外:.htaccess位置问题:htaccess文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。(每一个文件夹下都可以有个.htaccess文件)

转载于:https://my.oschina.net/deacyn/blog/699108

相关文章:

  • SqlServer数据库全角转换成半角
  • 转-临界区对象TCriticalSection与TRTLCriticalSection的区别
  • 20160623
  • vSphere部署系列之05——虚拟机的创建和设置
  • 练出更好的团队
  • mysql整数
  • IOS过滤全局的Emoji表情输入
  • HTML5 网络拓扑图性能优化
  • [备忘]如何接收向shell脚本传入的参数
  • qt QClipBoard
  • redis window版本设置密码,但是无效的解决方案
  • Swift基础--Swift中的异常处理
  • 【iCore3 双核心板_ uC/OS-III】例程十一:任务消息队列
  • id 选择器
  • MYSQL 专家 ----zhaiwx_yinfeng
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [译] React v16.8: 含有Hooks的版本
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • canvas 五子棋游戏
  • es的写入过程
  • Hibernate最全面试题
  • idea + plantuml 画流程图
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • oldjun 检测网站的经验
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Vue2 SSR 的优化之旅
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 微信小程序--------语音识别(前端自己也能玩)
  • 用jQuery怎么做到前后端分离
  • FaaS 的简单实践
  • hi-nginx-1.3.4编译安装
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​如何在iOS手机上查看应用日志
  • #pragam once 和 #ifndef 预编译头
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (1)SpringCloud 整合Python
  • (39)STM32——FLASH闪存
  • (搬运以学习)flask 上下文的实现
  • (二)PySpark3:SparkSQL编程
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)负载均衡,回话保持,cookie
  • (转)我也是一只IT小小鸟
  • *Django中的Ajax 纯js的书写样式1
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET gRPC 和RESTful简单对比
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET成年了,然后呢?
  • .NET是什么
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • /3GB和/USERVA开关