关于.htaccess的设置

Posted dream_bccb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于.htaccess的设置相关的知识,希望对你有一定的参考价值。

RewriteEngine On                                                        #设置是否开始rewrite
RewriteBase /                                                           #设置开始匹配的目录,比如web程序放在/var/www/html/test下,则这个值要设置为"/test"

#只用www的域名
RewriteCond %{HTTP_HOST}        ^test.com$ [NC]                         #RewriteCond设置匹配条件,即对服务器变量中的哪个值进行匹配
RewriteRule ^(.*)$              http://www.test.com/$1 [L,R=301]        #RewriteRule设置匹配成功后要执行的动做。即匹配成功后要把url映射到哪一个url

# 需要301的页面
RewriteCond %{QUERY_STRING}     ^.*news_id=(.+)$                        #对查询字符串进行匹配,这里通过正则匹配到的值在下面使用时用"%"使用,如"%1"
RewriteRule ^news\.php.*$       redirect.php?type=news&id=%1 [L]        #将匹配到的url路径(tab前的)重写为新设置的路径(tab后的),这里通过正则匹配到的值在下面使用时用"$"使用,如"$1"

#重写规则可单独使用
RewriteRule ^.*map\.php.*$              other/map.html [L]              #网站地图
RewriteRule ^.*questions\.php.*$        service/fqa/ [L]                #问题解答栏目

#规范应用的入口,只能通过index.php访问
RewriteCond %{SCRIPT_FILENAME} !index\.php$ [NC]
RewriteCond %{SCRIPT_FILENAME} !test\.php$ [NC]
RewriteCond %{SCRIPT_FILENAME} !code\.php$ [NC]                         #后台验证码
RewriteCond %{SCRIPT_FILENAME} !redirect\.php$ [NC]                     #原网站301重定向文件
RewriteRule ^(.*\.php.*)$    http://www.test.com/ [L,R=301]

# 下载文件保护
RewriteCond %{REQUEST_FILENAME} \/uploadfile\/download.*$ [NC]
RewriteRule ^(.*)$    http://www.test.com [L,R=404]

# 网页模版保护
RewriteCond %{REQUEST_FILENAME} \/templates\/default/cn.*$ [NC]
RewriteRule ^(.*)$    http://www.test.com [L,R=404]



========================
#LazyREST的.htaccess
RewriteEngine On
RewriteBase /LazyREST
RewriteRule ^api/(.+)/(.+)/(.*)$ index.php?c=api&_table=$1&_interface=$2&$3 [L]


以上是关于关于.htaccess的设置的主要内容,如果未能解决你的问题,请参考以下文章

通过 .htaccess 设置过期标头和压缩数据

.htaccess重写安全防护文件访问权限

.htaccess 关于 xampp 2 问题

在 cpanel 中出现关于 htaccess 权限的错误

.htaccess 设置问题

如何通过 .htaccess 设置 PHP 包含路径?