Apache 服务器实现网址301重定向
如果网站使用LAMP(Linux + Apache + MySQL + PHP)主机,可以利用Apache的mod_rewrite对URL进行重写或重定向。需要以下几步:
1、首先确保开启了mod_rewrite功能。
- 如图所示,打开Apache安装目录\conf\httpd.conf,找到“#LoadModule rewrite_module
modules/mod_rewrite.so”这行,去掉前面的“#”; - 继续查找“AllowOverride”,将 “AllowOverride None” 修改为 “AllowOverride All” ;
- 然后,重启Apache即可。
2、在你需要URL重定向的网站根目录下放一个.htaccess文件,文件名是.htaccess。线上框架一般是public目录下的.htaccess文件。Windows下不能直接建立,你可以用记事本另存为。
3、在.htaccess中通过正则表达式重定向到需要的页面。 示例如下:
- 将不带www的顶级域名301重定向到带www的域名
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^study365.com [NC]
RewriteRule ^(.*)$ http://www.study365.com/$1 [L,R=301]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
# 不带参数
RewriteRule ^html/tdxw.html? /news [QSA,L,R=301]
# 带参数
RewriteRule ^index/news.html?page=3$ /news.html?page=3 [QSA,L,R=301]
</IfModule>
|