文档章节

启用Mod Rewrite和.htaccess

前端巨浪
 前端巨浪
发布于 2013/04/16 11:48
字数 846
阅读 157
收藏 1

3 月,跳不动了?>>>

Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。在大多数情况下,它和.htaccess文件配 合使用。比如本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite- and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模块和.htaccess文件一起实现的,即所谓的固定链接(Permalinks)

Windows

在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单:

  1. 在[Apache安装目录]/conf/httpd.conf中找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#。如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有mod_rewrite.so这个文件。这样就启用了Mod Rewrite功能。
  2. 在[Apache安装目录]/conf/httpd.conf中找到
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>

    把“AllowOverride None”改成“AllowOverride All”,这样所有的文件夹都支持.htaccess了,或者针对指定的文件夹启用.htaccess,可以在[Apache安装目录]/conf/httpd.conf中加入

    <Directory "D:/sites/example/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    这种做法一般是和虚拟主机配置在一起的,所以大多数会把上述配置代码写入[Apache安装目录]/conf/extra/httpd-vhost.conf中,这样比较清晰易于管理。

  3. 重启Apache后,就ok了。

完成上诉步骤后,在Wordpress的固定链接中使用除默认外的链接设置,Wordpress会直接在其安装目录中生成对应的.htaccess,这样就可以使用设置的链接形式了。

Mac OS X

在Mac OS X中一般不使用root账号,而是通过sudo来获得root相关权限。一般情况下,我们把网站文件放在个人目录下,比如~/Sites,这样就涉及到Mac OS的权限管理,相对于Windows来说复杂不少。

  1. 在终端运行sudo vi /etc/apache2/httpd.conf,找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#。
  2. 运行sudo vi /etc/apache2/extra/httpd-vhost.conf,加入
    <Directory "/Users/[用户名]/Sites">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    这样整个~/Sites都可以支持.htaccess。

  3. 运行sudo vi /Private/etc/apache2/users/[用户名].conf,把其中的AllowOverride None改成AllowOverride All。需要注意的是,以前的Mac OS X版本,路径可能是/private/etc/httpd/users/[用户名].conf
  4. 在需要的目录新建.htaccess,并修改其权限为777,此处依旧以使用Wordpress的固定链接为例。
    cd ~/Sites/Wordpress
    touch .htaccess
    chmod 777 .htaccess

    新建文件的权限默认是644,通过ls -l .htaccess就可以看到,此时程序无法自动写入.htaccess,这种情况比较安全,但是需要手动写入。

  5. 退出后重启Apache:sudo apachectl restart

完成上述设置之后,就可以使用Wordpress的固定链接功能了。需要注意的是,如果.htaccess是从Windows下直接复制过来,日志中可能会出现</IfModule> without matching <IfModule> section的报错。简单的解决方案就是新建文件,重新复制粘贴。

之前写过如果做伪静态的文章,今天看随网之舞的博客看到了怎么具体设置rewrite模块的文章,就转了。看看具体怎么开启重写功能吧,然后再根据我的《WordPress的SEO技巧:伪静态化》,来优化你的WP的SEO吧。

本文转载自:http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x/

上一篇: JScript的内存泄漏
下一篇: 默认Web字体样式
前端巨浪

前端巨浪

粉丝 11
博文 48
码字总数 11690
作品 3
武汉
高级程序员
私信 提问
加载中

评论(0)

apache配置rewrite及.htaccess文件

apache配置rewrite及.htaccess文件 今天看到一个哥们的帖子发了个rewrite的帖子,以前也写过一个,配置挺简单的,但当时没注意这个问题,当时没有用到.htaccess文件,在机子上测试了一下,发...

Deacyn
2016/06/22
91
0
apache伪静态

打开apache的配置文件httpd.conf 找到 #LoadModule rewritemodule modules/modrewrite.so 把前面#去掉。没有则添加,但必选独占一行,使apache支持 mod_rewrite 模块 找到 # # Possible val...

似水的流年
2017/12/29
0
0
Linux:ubuntu启用apache mod_rewrite模块

在终端中执行 指令后,即启用了 Mod_rewrite 模块。 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块...

小小霸王枪
2013/11/13
43
0
htaccess伪静态导致的403错误

apache安装后伪静态的时候无论如何都无法完成。这时我检查了我的 apache 配置,配置如下: Options Indexes MultiViewsAllowOverride AllOrder allow,denyAllow from all 而且我的 LoadModu...

大德
2012/03/22
420
2
Apache的Rewrite详解

Rewrite的需求 在用Apache做web服务器的时候,有的时候需要将输入的URL转换成另一个URL这种需求。比如用CodeIgniter框架开发web应用的时候,我们访问的所有路径都要经过index.php,由这个ind...

我在睡觉
2016/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 小姐姐,这tm不是犬耳娘吗!你认错了吧

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Drip Drip Drip》- 音乐治疗 手机党少年们想听歌,请使劲儿戳(这里) @-Eric- ...

小小编辑
17分钟前
30
0
HTML5 小游戏开发

HTML的基础 HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成...

冯六六
44分钟前
17
0
Filebeat快速入门

Filebeat快速入门 本笔记整理于https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html,仅做个人学习总结使用。 Filebeat是轻量级日志采集工具,经常与ELK搭配...

趣学程序
50分钟前
26
0
基于 HTML5 Canvas 的拓扑组件 ToolTip 应用

前言 ToolTip 效果是网页制作中常见的使用特效。当用户将鼠标悬浮在某个控件上时,ToolTip 显示并向用户展示相应的提示信息;当鼠标离开时,ToolTip 隐藏。一般情况下,我们使用 ToolTip 只是...

xhload3d
今天
25
0
11个炫酷的Linux终端命令大全

今天给大家分享用了十年的Linux总结出来的11个炫酷的Linux终端命令大全,通过今天这篇文章我将向大家展示一系列的Linux命令、工具和技巧,希望能够帮助到大家。 1.命令行日常快捷键 如下的快...

老孟的Linux私房菜
昨天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部