htaccess 配置文档

时间:2018年11月10日    阅读次数:866

htaccess是什么?

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。它提供了针对目录改变配置的方法,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。并且子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。

启用或禁用 .htaccess

要启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:

AccessFileName .config

禁用 .htaccess

<Directory /WEB目录/>
AllowOverride None
</Directory>

完全启用 .htaccess

<Directory /WEB目录/>
Allowoverride All
</Directory>

部分启用 .htaccess

<Directory /WEB目录/>
Allowoverride FileInfo Indexes
</Directory>

包括:AuthConfig(认证指令),FileInfo(文档类型指令),Indexes(目录索引指令),Limit(控件主机访问指令),Options(控制指定目录功能的指令),多个属性用英文空格分开。更多关于 .htacess 配置参数,请查阅 apache2.x 手册,中文手册可查看:

https://doc.phpok.com/apache2.2/howto/htaccess.html

http://www.jinbuguo.com/apache/menu22/howto/htaccess.html

一、自动跳转到 https

RewriteEngine  on
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

二、将没有带www的域名跳转到有www的域名

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

出于SEO考虑,将无www的域名重定向有www的域名可以避免页面权重分散

只跳转某个域名做301

RewriteEngine on
RewriteCond %{HTTP_HOST} ^phpok.com$ [NC]
RewriteRule ^(.*)$ https://www.phpok.com/$1 [L,R=301]

三、PHPOK在 .htaccess 的代码设置

RewriteEngine  on
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^. index.php [L]


回复(0 条回复)
游客
论坛咨询