博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
APACHE 支持.htaccess 并对其配置
阅读量:6671 次
发布时间:2019-06-25

本文共 2046 字,大约阅读时间需要 6 分钟。

hot3.png

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

你可能感兴趣的文章
Mybatis技术原理与实践——读书笔记(五)
查看>>
yum error rpmts_HdrFromFdno: V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
查看>>
Access forbidden!
查看>>
码云五周年 —— 善待你的每一行代码
查看>>
Shell脚本踩坑记
查看>>
java.lang.IllegalArgumentException: 'sessionFactor
查看>>
extjs4.1 grid 分组 (对象是一个object)以及其它。
查看>>
HD wallet的创建、导入
查看>>
Ubuntu11.10下安装JDK+Eclipse+Maven
查看>>
NTFS For Mac 如何简单操作
查看>>
1.13
查看>>
DEDE织梦常用的调用方法
查看>>
sgu 222
查看>>
让spring-data-jpa解放你的DAO
查看>>
58沈剑:架构师的平凡之路
查看>>
Hibernate问题-read-write缓存策略
查看>>
C/C++语言中“:”的使用方法
查看>>
sql中实现汉字的拼音首字母查询
查看>>
Android 动态布局 (代码布局)
查看>>
MYSQL备份和恢复
查看>>