[译] Apache 使用 MOD_REWRITE 启用 url rewrite/url重写

原文地址:ENABLING MOD_REWRITE ON WINDOWS APACHE FOR URL REWRITING
以下几步将帮助你 windows 平台上的 wamp 启用 mod_rewrite 组件
我需要使用 .htaccess 文件来启用本地 Wordpress 站点上的url重写功能, 让url地址看起来更通俗易懂, 更漂亮. 如果 mod_rewrite 组件没有开启, 网站将不能使用任何的 url重写功能, 这个将会在 WordPress 站点报出一个 404 错误页面.
启用 mod_rewrite 将走以下步骤:

  • 启用conf 文件中的 mod_rewrite
    打开 Apache 目录的 配置文件 http.conf 对于我来说, 这个位置是 apache~/conf/httpd.conf , 在更改之前备份下这个文件, 如果出错可以从这个文件再恢复回来.
    找到#LoadModule rewrite_module modules/mod_rewrite.so, 取消前边的# 注释
  • 启用 AllowOverride
    定位到 <directory /> 所在的部分. 修改如下的内容为
阅读更多

[转] Apache Rewrite 规则详解

原文地址 : Apache Rewrite 规则详解
在开篇之前:
我想说这篇文章其实是我刚刚接触Rewrite的时候学习的文档,应属转载,但是在这里我不想写明原地址,原因是文章中大多数给出的配置命令经实验都是错误的。需要原文的可以在谷歌上搜索一下”Apache Rewrite 规则详解”
好在我对正则表达式有所了解,把原文的代码都通过自己的理解改写了一下,并都能够达到题设的要求,并联想需求添加了例子。
本文是经过我实验后修改有效的,如果还是出现500错误请去掉  #  及后面的注释(也许有些环境不支持中文注解),如果还是错误请在下面给我留言。
1、Rewrite规则简介:
Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译 apache 时以DSO模式安装 apache,然后再利用源码和apxs来安装rewrite模块。
基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意的是,必须在每个virtualhost里用RewriteEngine on来打开rewrite功能。否则virtualhost里没有RewriteEngine on它里面的规则也不会生效。
基于目录级的.htaccess,要注意一点那就是必须打开此目录的FollowSymLinks属性且在.htaccess里要声明RewriteEngine on
2、举例说明:

例一.下面是在一个虚拟主机里定义的规则。功能是把client请求的主机前缀不是www.kiya.cn和70.40.213.183都跳转到主机前缀为 http://www.kiya.cn,避免相同内容的网页有多个指向的域名,如 http://kiya.cn。

阅读更多

# apache 安装记录

# apache 安装记录

apachectl -t 检测错误信息

cgi 模式

参考文章:Run PHP Applications under CGI with Apache on Debian 5

Local 8021 cgi

a2enmod actions
ScriptAlias /local-bin /usr/bin
AddHandler application/x-httpd-php5 php
Action application/x-httpd-php5 /local-bin/php-cgi

fastcgi 模式

a2enmod proxy
a2enmod proxy_fcgi
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost"
</FilesMatch>
<FilesMatch "\.php$">
    SetHandler  "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
%60apachectl%20-t%60%20%E6%A3%80%E6%B5%8B%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%0A%0A%23%23%20cgi%20%E6%A8%A1%E5%BC%8F%0A%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0%EF%BC%9A%5BRun%20PHP%20Applications%20under%20CGI%20with%20Apache%20on%20Debian%205%5D(https%3A%2F%2Fwww.linode.com%2Fdocs%2Fwebsites%2Fapache%2Frun-php-applications-under-cgi-with-apache-on-debian-5-lenny)%0A%5BLocal%208021%20cgi%5D(http%3A%2F%2F192.168.1.103%3A8021%2Finfo.php)%0A%0A%60%60%60%0Aa2enmod%20actions%0A%60%60%60%0A%60%60%60%0AScriptAlias%20%2Flocal-bin%20%2Fusr%2Fbin%0AAddHandler%20application%2Fx-httpd-php5%20php%0AAction%20application%2Fx-httpd-php5%20%2Flocal-bin%2Fphp-cgi%0A%60%60%60%0A%0A%23%23%20fastcgi%20%E6%A8%A1%E5%BC%8F%0A%0A%60%60%60%0Aa2enmod%20proxy%0Aa2enmod%20proxy_fcgi%0A%60%60%60%0A%60%60%60%0A%3CFilesMatch%20%22%5C.php%24%22%3E%0A%20%20%20%20SetHandler%20%22proxy%3Aunix%3A%2Fvar%2Frun%2Fphp5-fpm.sock%7Cfcgi%3A%2F%2Flocalhost%22%0A%3C%2FFilesMatch%3E%0A%60%60%60%0A%60%60%60%0A%3CFilesMatch%20%22%5C.php%24%22%3E%0A%20%20%20%20SetHandler%20%20%22proxy%3Afcgi%3A%2F%2F127.0.0.1%3A9000%22%0A%3C%2FFilesMatch%3E%0A%60%60%60%0A%0A

原文地址 : # apache 安装记录
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

apache 开启伪静态

apache 开启伪静态 1. 打开伪静态模块

LoadModule rewrite_module modules/mod_rewrite.so

2. 配置.htaccess, 放入到mark文件夹下
  
<IfModule mod_rewrite.c>
           RewriteEngine On
           RewriteBase /mark/
           RewriteRule (.*)-(.*) index.php?m=$1&a=$2
</IfModule>

3. 开启目录中的allowOverride


4. 看结果


原文地址 : apache 开启伪静态
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

# apache 配置反向代理

# apache 配置反向代理
<VirtualHost *:80>
    ServerName ft.sour-lemon.com
    ServerAlias ft.wanyuhd.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:9023/
    ProxyPassReverse / http://ft.sour-lemon.com/
</VirtualHost>
%0A%0A%60%60%60%0A%3CVirtualHost%20*%3A80%3E%0A%20%20%20%20ServerName%20ft.sour-lemon.com%0A%20%20%20%20ServerAlias%20ft.wanyuhd.com%0A%20%20%20%20ProxyRequests%20Off%0A%20%20%20%20ProxyPreserveHost%20On%0A%20%20%20%20%3CProxy%20*%3E%0A%20%20%20%20%20%20%20%20Order%20deny%2Callow%0A%20%20%20%20%20%20%20%20Allow%20from%20all%0A%20%20%20%20%3C%2FProxy%3E%0A%20%20%20%20ProxyPass%20%2F%20http%3A%2F%2F127.0.0.1%3A9023%2F%0A%20%20%20%20ProxyPassReverse%20%2F%20http%3A%2F%2Fft.sour-lemon.com%2F%0A%3C%2FVirtualHost%3E%0A%60%60%60%0A%0A

原文地址 : # apache 配置反向代理
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

apache做301重定向的方法

重写方式

使用mod_rewrite重写URL的方式来做,做之前朋友记得检查一下你的apache是否已经加载了rewrite模块。如图所示的那个模块,在apahce的httpd.conf文件里面查看

如果已经支持了rewrite,直接在你要做的站点配置文件里面添加以下代码,注意修改域名为你要做的域名。

阅读更多

apache 读取图片显示 403 Forbidden

错误说明

首先查看截图:

查看日志:

[core:crit] [pid 24208] Permission denied: [client 58.56.92.131:37345] AH00529: /webdata/www/…/mail/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/webdata/www/…/mail/‘ is executable

其实这里的日志已经说的很清楚了. 目录没有可执行权限, 也就是 apache 需要目录有可执行权限


语雀镜像 : apache 读取图片显示 403 Forbidden ,点此 提问