.htaccess文件是控制你的网站的高级别配置的功能强大的网站文件。在运行Apache(Web服务器软件)的服务器上,.htaccess 文件使你无需编辑服务器配置文件即可更改网站的配置。.htaccess文件最常用的功能有:为某些网址添加重定向、设置自定义错误页面,例如404页面、强制你的网站使用HTTPS而不是HTTP、用密码保护服务器上的某些目录、设置防盗链等等。

使用.htaccess文件是用于管理服务器的功能强大的工具,在开始编辑.htaccess文件之前,请确保你熟悉.htaccess文件的规则和会对服务器的影响。

注意:在尝试执行以下所述的任何操作之前,我们强烈建议你对.htaccess文件和整个网站进行备份(例如使用WordPress备份插件,如BackupBuddy)。

.htaccess文件介绍

.htaccess文件的位置

创建好一个网站后,通常会在根目录建立一个.htaccess文件,此时.htaccess文件的规则相对于整个网站。如果需要针对于某个目录,则需要在该目录下创建一个.htaccess文件即可。

.htaccess文件的位置
.htaccess文件的位置

你可以使用多个.htaccess文件将不同的设置应用于不同的目录。从理论上讲,你可以通过创建和上传纯文本文件在服务器上的任何目录中创建.htaccess文件。

通常,太多的.htaccess配置会降低服务器的速度,所以建议最大程度地减少服务器上.htaccess文件的数量。因为。当服务器在目录中看到.htaccess文件时,它会在所有父目录中查找.htaccess文件,从而增加了服务器资源的使用。在文件路径中较高位置的.htaccess文件始终优先。

编辑.htaccess文件

如果需要编辑.htaccess文件,则需要使用FTP客户端或通过主机的文件访问系统(例如,在cPanel中)下载现有文件。.htaccess文件可能已经包含重要设置。如果你的.htaccess文件具有现有设置,请将新代码添加到已有的代码中。

注意:请勿删除现有的.htaccess文件,除非该文件为空,或者你完全确定可以删除它。

如何使用.htaccess 文件重定向URL

如果你决定更改域名或更改网站的路径,则可以设置URL重定向以确保你的网站访问者不会感到困惑。一个简单的方法是使用.htaccess文件。

要编辑.htaccess文件,你需要自己重新创建文件,然后使用SFTP或FTP工具将其上传到服务器。

  • 通过SFTP或FTP工具登录到服务器。
  • 找到并下载你的.htaccess文件。它通常位于你的网站根目录中。如果没有.htaccess文件,则可以在计算机上创建一个名为.htaccess的文件来保存你的配置。
  • 通过你喜欢的文本编辑器打开文件,例如Notepad ++。
  • 将以下行添加到文件中:
    			# 开启伪静态引擎
    RewriteEngine on
    
    
  • 将新配置复制并粘贴到.htaccess文件中,然后保存该文件。
  • 将其上传回到你最初从中获取.htaccess文件的目录。
  • 通过访问网站并查看要重定向的页面来测试你的工作。

使用.htaccess文件还可以301和302重定向来重定向网站上的各个页面。

使用.htaccess重写URL

重写与重定向类似,因为它们还将一个目标URL指向另一个URL,但这实际上是由Web服务器在处理流量时进行转换的。可以认为它是使用铅笔和橡皮擦来更改名称,而不是使用符号来指向新名称。

最常见的URL重写会强制网站使用URL中带有或不带有 www的URL。

强制非www站点地址

当你将此代码添加到你的.htaccess文件中时,任何键入www.mysite.com的访问者都将被重定向到到mysite.com。

	Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^mysite\.com 
RewriteRule (.*) http://mysite.com/$1 [R=301,L]

用你的域替换mysite.com。如果你使用其他顶级域名(例如,.net或.org而不是.com),请使用该顶级域名代替.com /不要删除“ \”,因为正确语法需要使用“ \” 。

使用.htaccess强制www网站地址

	Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^mysite.com [NC] 
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]

用你的域替换 mysite.com。如果你使用其他顶级域(例如,.net或.org而不是.com),请使用该顶级域而不是“ .com”。注意:不要删除“ \”,因为它是必需的正确的语法。

使用.htaccess创建自定义404错误页面

404页面实际上是一条错误消息,显示的是网站上实际上不存在的页面。404页面通常显示为“找不到页面”,但你还可以找到一些有趣的404页面示例,这些页面经过自定义以使网站访问者获得更好的体验。

错误页面是任何网站的一部分。无论如何,网站访问者有时会遇到错误页面。如果你使用自定义错误页面,则可以通过有趣的404页面将错误页面转换为积极的体验。

有趣的404页面
有趣的404页面

在设置错误页面之前,你需要创建错误页面。你可以根据需要执行以下操作:使用网站构建器或其他方式手动编码页面。构建完错误页面后,请保存文件,以便可以将其上传到服务器。

  • 在编辑.htaccess文件之前,将自定义的错误页面上传到服务器。你可以通过SFTP或FTP工具执行此操作。将这些文件放在你网站的内容目录中。
  • 下载与你要使用自定义错误页面的域相对应的.htaccess文件。
  • 在文本编辑器中打开此文件并添加以下信息:
    			# 自定义服务器错误页面
    ErrorDocument 400 /errors/400.html
    		
  • 将/errors/400.html替换为你上载的错误页面的文件路径。此示例显示“ 400”,表示出现400错误。
  • 根据需要添加任意行,并根据需要更改错误号和文件路径。
  • 添加完.htaccess文件后,保存并退出文件。然后将其上传到到网站中。
  • 最后,测试你的网站以确保你的错误页面正常运行。

强制将网站使用HTTPS访问

如果要确保每个网站访问者都在使用安全(SSL)连接,则可以使用.htaccess规则来重定向不安全的流量。这会将http://mysite.com重定向到https://mysite.com。当然,仅当你为域名配置了SSL证书时,此方法才有效。邢台乐客互联免费提供SSL证书服务。

要将每个网站访问者重定向到安全连接,请将此规则添加到你要重定向的网站的.htaccess文件中:

	#强制开启HTTPS
RewriteEngine On 
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://mysite.com/$1 [R=301,L]

把mysite.com替换成自己的域名。

使用.htaccess设置防盗链

防盗链是一种机制,也可以说是一种技术。目的就是防止自己网站上的东西(如图片,视频等文件)被其他用户采用其他的技术手段来访问或者下载,这种情况下通常会造成自己网站运行缓慢,如果开启了CDN加速的话甚至还会导致费用增加。

  • 使用SFTP或FTP工具登录到网站目录。
  • 下载站点上的.htaccess文件。
  • 编辑.htaccess文件,将以下代码添加到.htaccess文件里面:
    			
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)mydomain.com/.*$ [NC]
    RewriteRule \.
    			
    		
  • 将mydomain.com更改为自己的域名。另外,请确保你不要在.htaccess 文件中修改任何其他代码。
  • 将编辑好的.htaccess文件上传到网站内。