在访问页面时,页面地址会以 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。