.htaccess 文件使用手册
2016-06-23 15:54
344 查看
1、apache开启.htaccess
vi编辑httpd.conf文件,修改这两个地方:
(1)
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
(2)去掉下面的注释
LoadModule rewrite_module modules/mod_rewrite.so
2、.htaccess的写法:
注意:在项目根目录下创建,.htaccess文件 权限设置为644
利用.htaccess指定事先制作好的错误提醒页面。一般下,人们专门设立目录,例如errors放置页面。然后再.htaccess中,加入如下的指令:
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
一条指令一行。上述第一条指令的意思是对于404,也找到所的文档的得显示页面为/errors目录下的notfound.html页面。不难看出语法格局为:
ErrorDocument 错误代码 /目录名/名.扩展名
所提示的很少的话,不必专门制作页面,直接在指令中HTML号了,例如下面例子:
ErrorDocument 401 “你权限访问该页面,请抛却!”
重写 rewrite:
#rewrite ^/\??$ http://ue.alipay.com last;
#rewrite ^/\index.(htm|html|php)\??$ http://ue.alipay.com last;
#rewrite ^/diaochae_([0-9]+)\.html\??$ /admin/index.php?r=survey/view&wid=$1&page=end last;
#rewrite ^/feed.html\??$ /admin/?r=feedback/add last;
#rewrite ^/error.html\??$ /admin/index.php last;
#rewrite ^/adminlogin.html\??$ https://bumng.alipay.com last;
#rewrite ^/adminloginlocal.html\??$ http://bumng.test.alipay.net last;
#rewrite ^/admin.html\??$ /admin/index.php?r=survey/list last;
#rewrite ^/login.html\??$ /admin/index.php?r=survey/login last;
#rewrite ^/diaochach_([0-9]+)\.html\??$ /admin/index.php?r=survey/view&wid=$1 last;
#rewrite ^/diaocha_([0-9]+)\.html\??$ /admin/index.php?r=survey/view&wid=$1 last;
#rewrite ^/diaochae_([0-9]+)\.html&sign_from=3000$ /admin/index.php?r=survey/view&wid=$1&page=end&sign_from=3000 last;
#rewrite ^/diaocha_([0-9]+)\.html&sign_from=3000\??$ /admin/index.php?r=survey/view&wid=$1&sign_from=3000 last;
#rewrite ^/diaochach_([0-9]+)\.html&sign_from=3000$ /admin/index.php?r=survey/view&wid=$1&sign_from=3000 last;
什么是 .htaccess 文件?
概述来说,htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。
通过 htaccess 文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
——站长百科
vi编辑httpd.conf文件,修改这两个地方:
(1)
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
(2)去掉下面的注释
LoadModule rewrite_module modules/mod_rewrite.so
2、.htaccess的写法:
注意:在项目根目录下创建,.htaccess文件 权限设置为644
利用.htaccess指定事先制作好的错误提醒页面。一般下,人们专门设立目录,例如errors放置页面。然后再.htaccess中,加入如下的指令:
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
一条指令一行。上述第一条指令的意思是对于404,也找到所的文档的得显示页面为/errors目录下的notfound.html页面。不难看出语法格局为:
ErrorDocument 错误代码 /目录名/名.扩展名
所提示的很少的话,不必专门制作页面,直接在指令中HTML号了,例如下面例子:
ErrorDocument 401 “你权限访问该页面,请抛却!”
重写 rewrite:
#rewrite ^/\??$ http://ue.alipay.com last;
#rewrite ^/\index.(htm|html|php)\??$ http://ue.alipay.com last;
#rewrite ^/diaochae_([0-9]+)\.html\??$ /admin/index.php?r=survey/view&wid=$1&page=end last;
#rewrite ^/feed.html\??$ /admin/?r=feedback/add last;
#rewrite ^/error.html\??$ /admin/index.php last;
#rewrite ^/adminlogin.html\??$ https://bumng.alipay.com last;
#rewrite ^/adminloginlocal.html\??$ http://bumng.test.alipay.net last;
#rewrite ^/admin.html\??$ /admin/index.php?r=survey/list last;
#rewrite ^/login.html\??$ /admin/index.php?r=survey/login last;
#rewrite ^/diaochach_([0-9]+)\.html\??$ /admin/index.php?r=survey/view&wid=$1 last;
#rewrite ^/diaocha_([0-9]+)\.html\??$ /admin/index.php?r=survey/view&wid=$1 last;
#rewrite ^/diaochae_([0-9]+)\.html&sign_from=3000$ /admin/index.php?r=survey/view&wid=$1&page=end&sign_from=3000 last;
#rewrite ^/diaocha_([0-9]+)\.html&sign_from=3000\??$ /admin/index.php?r=survey/view&wid=$1&sign_from=3000 last;
#rewrite ^/diaochach_([0-9]+)\.html&sign_from=3000$ /admin/index.php?r=survey/view&wid=$1&sign_from=3000 last;
什么是 .htaccess 文件?
概述来说,htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。
通过 htaccess 文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
——站长百科
理解 WordPress 的 htaccess
# BEGIN WordPress #这是一行注释,表示 WordPress 的 htaccess 从这里开始 #如果 Apache 加载了 mod_rewrite.c 模块,则运行以下代码 RewriteEngine On #启用 mod_rewrite 引擎 RewriteBase / #设置目录重写的基准URL为 / RewriteRule ^index\.php$ - [L] #如果请求路径是 index.php,停止重写操作(避免死循环) RewriteCond %{REQUEST_FILENAME} !-f #如果请求的不是一个文件,继续处理 RewriteCond %{REQUEST_FILENAME} !-d #如果请求的不是一个目录,继续处理 RewriteRule . /index.php [L] #把所有的请求指向 /index.php #结束 IfModule # END WordPress #WordPress 的 htaccess 到这里结束
使用范例
设置错误页面
ErrorDocument 400 /error_pages/400.html ErrorDocument 401 /error_pages/401.html ErrorDocument 403 /error_pages/403.html ErrorDocument 404 /error_pages/404.html ErrorDocument 500 /error_pages/500.html
设置重定向
#从 old_dir 目录重定向到 new_dir 目录 Redirect /old_dir/ http://www.yourdomain.com/new_dir/index.html #把通过二级目录访问的请求301重定向到二级域名 RedirectMatch 301 /dir/(.*) http://dir.yourdomain.com/$1
禁止指定IP访问
#禁止 IP 为 255.0.0.0 和 123.45.6.区段的 IP 访问 order allow,deny deny from 255.0.0.0 deny from 123.45.6. allow from all
禁止指定来源访问
#禁止从 otherdomain.com 和 anotherdomain.com 的来源访问 RewriteEngine on # Options +FollowSymlinks RewriteCond %{HTTP_REFERER} otherdomain\.com [NC,OR] RewriteCond %{HTTP_REFERER} anotherdomain\.com RewriteRule .* - [F]
文件防盗链
#从本站以外的域名访问图片,一律显示 feed.jpg RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC] RewriteRule \.(gif|jpg|png)$ http://www.yourdomain.com/feed.jpg [R,L]
禁用文件夹列表
#如果你的文件夹没有首页文件,服务器会显示文件列表,你可以设置不显示 IndexIgnore * #仅不显示 .zip/.jpg/.gif 格式的文件 IndexIgnore *.zip *.jpg *.gif
设置文件夹首页
#防止显示文件夹列表,当访问文件夹时,服务器查找 index.html 为首页文件,如不存在依次向后查找 DirectoryIndex index.html index.cgi index.php
设置媒体文件为可下载的而非播放
AddType application/octet-stream .mp3 .mp4
自定义 HTTP 报头
Header set X-Pingback "http://www.yourdomain.com/xmlrpc.php" Header set article-by "c7sky.com"
设置文件过期时间 Cache Control
# 启用有效期控制 ExpiresActive On # gif/png/jpg 有效期为1个月 ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" # js/css 有效期为1星期 ExpiresByType text/javascript "access plus 1 week" ExpiresByType text/css "access plus 1 week"
相关文章推荐
- 解读分库分表中间件Sharding-JDBC
- CENTOS 7 安装 XFCE 桌面
- java文件下载断点续传
- 常用的第三方库
- Android —— API Level
- Centos 6.5 下部署企业网站平台Nginx+PHP
- How to Configure YUM to Install Packages From Installation ISO (RHEL)
- 每一层自动化测试常见的工具或者框架,以及各自的优缺点
- 解决NetBeans运行web项目时出现的“未能正确设置java DB”问题
- Linux——bug记录
- CI/CD 持续集成和持续交付 (二)
- Use VBA to update PPT from Excel
- Linux下Rsync+Inotify-tools实现数据实时同步
- JEECG承接代码生成器、Online开发之后,再创新举,开辟云应用开发新时代,打造jeecg企业级云应用生态圈
- 百度面试算法题
- pxe批量自动化安装系统
- nginx配置文件详解
- iOS10版Siri API仅面向六类第三方应用开放
- Unity HSV色彩模式下 校色Shader
- NSDataDetector检测文本中的url网址