在访问页面时,页面地址会以 DocumentRoot所指定的路径为相对路径,但若不想使用指定的路径,则需要创建路径别名。假如DocumentRoot为/var/www/html ,现想将/var/www/html/mail 建立别名/web/mail,该如何修改呢?下面做详细讲解。        

    一、先创建别名目录

       #mkdir -pv /web/mail

    二、在创建的目录中添加页面

       #echo "<h2>This is a test of  Alias</h2>"   >> /web/mail/index.html

    三、编辑配置文件。在httpd主配置文件/etc/httpd/conf/httpd.conf中编写Alias

       #vim  /etc/httpd/conf/httpd.conf
       Alias  /mail/   "/web/mail/"   //在配置文件中添加此句话。

       注意:Alias后跟的两路径最后的写法一定要一致。

     四、关闭SELinux,重启web服务

        #setenforce 0

        #Service  httpd  restart

    五、测试路径别名

       在浏览器中输入http://192.168.0.72/mail,若看到下面的页面便说明路径别名建立成功。

    看到了上述页面说明Alias建立成功。若想要创建其他的路径别名只需按照同样的方法操作即可。

    其实,不仅这种静态的网页页面可以做别名,实现动态网页CGI脚本也可以做别名。下面在介绍一下如何创建CGI别名。

    在此我们为/web/cgi建立CGI路径别名/cgi。详细步骤如下:

     一、如Alias一样,先创建目录

        #mkdir -pv /web/cgi

     二、在创建的路径中添加脚本

        #vim a.sh

        如正常编写脚本一样即可。但脚本的第一句话一定要是 echo "Content-type:text/html"  明确说明网页文件的类型。

      三、在httpd主配置/etc/httpd/conf/httpd.conf文件中编写 ScriptAlias
        ScriptAlias   /cgi/   "/www/cgi"   //使用ScriptAlias让系统识别这是一个cgi脚本路径别名。

      四、关闭SELinux,重启web服务

      五、测试CGI别名  

       在浏览器中输入http://192.168.0.72/cgi/a.sh。验证脚本执行结果。

    至此,路径别名的建立讲解完毕。上述过程中我们一再要求关闭SELinux,其实是因为SELinux规定了CGI脚本必须放在/var/www目录下才能生效。所以若我们改变了脚本路径就必须关闭SELinux。