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