重定向

使用子域名,还是使用子目录?

  网站管理员可能需要通过 URL 结构来区分网站的不同部分,那么使用子域名和子目录分别有什么优缺点 ? 网站管理员又应该如何进行选择? 本文将针对这些问题进行分析。

  一个网站可能会有不同的版块和内容,管理员可能需要在 URL 地址上对其做出区分,以便访问者更好地区别和记忆不同的网址。例如网站 example.com 的博客 (blog) 版块,就可以分别使用以下两种形式的链接地址:

  blog.example.com (子域名形式)

  example.com/blog/ (子目录形式)

  使用子目录,只需要在网站的根目录下建立相应的目录(文件夹)即可,所以信息存储在同一空间里,“查找/修改” 文件都很容易。如果你需要将文件从一个地方移动到另一个地方,实际上就相当于移动文件夹 :D

  使用子域名则是通过 DNS 设置的别名 (CNAME) 实现,因此使用子域名可以将内容指向其它 IP 或主机。使用子域名可通过修改 CNAME 记录方便的转移网站的一站分,但 DNS 的相关配置对于新手来讲可能比较困难。

如何为 apache 启用 URL rewrite 功能 ?

在 httpd.conf 文件中定义的重写规则是对整个服务器生效的,如果希望对不同的目录定义不同的重写规则,就需要通过 .htaccess 文件来实现了。

启用 URL rewrite 是为了能够对网站链接进行重写,链接重写主要是出于以下三个目的:

  • 让 URL 显得更有层次感
  • 便于用户识记
  • SEO

不论是出于何种目的,在对链接进行重写之前,我们都必要先启用 apache  的 mod_rewrite 模块。

对于 apache 1.X 的用户,请确定配置文件 httpd.conf 中有以下语句:

LoadModule rewrite_module libexec/mod_rewrite.so
Addmodule mod_rewrite.c

对于 apache 2.X 的用户,请确定配置文件 httpd.conf 中有以下语句:

使用重定向处理 ERROR 404 (找不到文件错误)

有时用户可能因为拼错链接地址、网页被删除等原因而访问了无效的 URL。这种情况无可避免,但是可以采取比较友好的方式来改善用户体验 —— 重定向到网站首页,或者重定向到自定义的 404 (找不到文件) 页面。