PHP网站实现地址URL重定向
1、在Apache配置文件中设置重定向
首先找到Apache配置文件httpd.conf,在配置文件中找到下面代码 LoadModule rewrite_module modules/mod_rewrite.so,将其打开(就是将前面#去除)。
然后打开输出phpinfo()函数,如果在模块中开启了mod_rewrite模块,就说明上面一步成功啦,如下图
然后就是配置URL规则啦,如果你没有配置Apache虚拟主机,请看下面一篇文章
wamp开发环境配置之配置Apache虚拟主机
找到Apache配置虚拟主机的文件httpd-vhosts.conf,在标签下写上
RewriteEngine on
RewriteBase /
RewriteRule index.php test.php
注意:(1)你想配置哪个虚拟主机的URL重定向就在哪个虚拟主机的标签下写
(2)RewriteBase 是指你test.php文件的目录,/表示网站的根目录,如果你test.php在a文件夹下,就写/a/
(3)RewriteRule 表示匹配规则,这里的意思是当用户进入index.php页面后,自动跳转到test.php页面中,但是网址意思是index.php
2、通过.htaccess文件实现URL重定向
第一步还是打开mod_rewrite模块,第二步在Apache配置文件中找到标签,在这个标签下将AllowOverride None 改为 AllowOverride All
然后创建.htaccess(偷偷告诉你,这个读 H-T-access,不要谢我哦),由于window不允许不带文件名的文件,所以我们可以这样创建.htaccess文件
打开记事本,点击另存为,注意编码是ANSI,有时候.htaccess文件失效可能就是因为文件编码不对
下面就是在.htaccess文件中编写啦,编写的内容和第一种方式的内容相同
3、URL重定向注意事项
首先举个例子,如果我想将index/,blog/重定向到index.php,blog.php中,可以这样写
然后当我们定义好.htaccess中的规则后,需要注意我们原来网站中的js、css、image等的路径可能就会出错,因为他会当你网站的地址为index/时,浏览器会认为你在index这个文件夹中,所有就会在index文件夹中找你的css、js、image等,所有会出错。解决方法就是用绝对路径,就是在你的路径前面加上 / 符号表示从网站的根目录开始搜索这个文件!