APACHE 支持.htaccess 并对其配置

Apache中的.htaccess(或者”分布式配置”了针对目录改变配置的方法,
即,在特定的文档目录中放置包含或多个指令的,以作用于此目录及其子目录。作为,所能的命令受到限制。***Apache的AllowOverride指令来设置。
子目录中的指令会笼盖更高级目录或者主器配置中的指令。
.htaccess必需以ASCII模式上传,最好将其权限设置为644。

打开httpd.conf(在那里? APACHE目录的CONF目录里面),用文本编纂器打开后,查找

(1)
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks

AllowOverride All

(2)去掉下面的注释
LoadModule rewrite_module modules/mod_rewrite.so

(3)修改此处
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Allow from All
</FilesMatch>
就好了

1. 定制目录的 Index 文件
DirectoryIndex index.html index.php index.htm

2. 自定义错误页
ErrorDocument 404 errors/404.html

3. 控制访问文件和目录的级别

.htaccess 经常用来限制和拒绝访问某个文件和目录,例如我们有一个 includes 文件夹,这里存放一些脚本,我们不希望用户直接访问这个文件夹,那么通过下面的脚本可以实现:

# no one gets in here!
deny from all

上述脚本是拒绝所有的访问,你也可以根据IP段来拒绝:

# no nasty crackers in here!
order deny,allow
deny from all
allow from 192.168.0.0/24
# this would do the same thing..
#allow from 192.168.0

一般这些方法是通过防火墙来处理,但在一个生产环境中的服务器来说,这样的调整非常方便。

有时候你只是想禁止某个ip访问:

# someone else giving the ruskies a bad name..
order allow,deny
deny from 83.222.23.219
allow from all

5. 301 重定向
如果你希望某个页面跳转到新的页面:
Redirect 301 /old/file.html http://yourdomain.com/new/file.html
下面可以实现对整个路径的重定向
RedirectMatch 301 /blog(.*) http://yourdomain.com/$1

9. URL 重写
例如要将 product.php?id=12 重写为 product-12.html
RewriteEngine on
RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1

将 product.php?id=12 重写为 product/ipod-nano/12.html

RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2

重定向没有 www 到有 www 的 URL 地址:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^viralpatel\.net$
RewriteRule (.*) http://www.viralpatel.net/$1 [R=301,L]

重写 yoursite.com/user.php?username=xyz 到 yoursite.com/xyz

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

重定向某个域名到一个 public_html 里新的子文件夹:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule (.*) /new/$1

转载于:https://my.oschina.net/shunshun/blog/101133

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值