Apache .htaccess 301重定向是服务器端重定向,并且是永久重定向。
该的.htaccess文件是Apache服务器的配置文件。该.htacces S档是每个目录中。
使用.htaccess文件会降低服务器性能。当您有权访问Apache服务器主配置文件httpd.conf时,应避免使用.htaccess 。共享托管网站通常无权访问httpd.conf文件,而应使用.htaccess文件。
此301重定向响应通知搜索引擎该页面已从旧URL永久移动到新URL。
搜索引擎还将旧的URL页面等级转移到新的URL。
添加此代码或在old-page.html目录中创建新的.htaccess文件。
从old-page.html永久重定向到new-page.html。
.htaccess:
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
从所有域页面永久重定向到newdomain.com。
.htaccess文件应位于旧网站的根目录中。
.htaccess:
Redirect 301 / http://www.newdomain.com/
如果将.htaccess文件上传到old-page.html目录,并且重定向不起作用,则通常意味着在Apache服务器配置文件httpd.conf中未启用.htaccess文件。
该的.htaccess文件可以通过加入Apache服务器的被启用的httpd.conf文件。
httpd.conf:
<Directory /srv/www/rapidtables.org/public_html/web/dev/redirect/
AllowOverride All
</Directory/
重要提示:建议不要使用此设置,因为它会降低Apache服务器的速度。
如果您有权更改httpd.conf文件,则最好在httpd.conf中而不是.htaccess文件中添加Redirect指令。
检查重写模块的库mod_rewrite.so是否由apache服务器加载:
$ apache2ctl -M
将以下代码添加到httpd.conf文件。
如果重写模块的库mod_rewrite.so不可用,请取消注释第一行以加载重写模块。
httpd.conf:
# LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
<Directory /srv/www/rapidtables.org/public_html/web/dev/redirect/
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
</Directory/
httpd.conf更新后,请不要忘记重新启动Apache服务器:
$ sudo /etc/init.d/apache2 restart