本文介紹如何在apache服務器上配置301重定向,主要通過.htaccess文件或httpd.conf文件實現。
方法一:使用 .htAccess 文件
此方法適用于大多數情況,無需重啟Apache服務器。
-
在需要重定向的目錄下創建(或編輯).htaccess文件。例如,將example.com/oldpage.html重定向到example.com/newpage.html,則.htaccess文件應放在與oldpage.html相同的目錄。
-
在.htaccess文件中添加以下代碼:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^oldpage.html$ /newpage.html [R=301,L]
代碼解釋:
- RewriteEngine On: 啟用URL重寫引擎。
- RewriteCond %{REQUEST_FILENAME} !-f: 檢查請求的文件是否不存在。
- RewriteCond %{REQUEST_FILENAME} !-d: 檢查請求的目錄是否不存在。
- RewriteRule ^oldpage.html$ /newpage.html [R=301,L]: 如果以上條件滿足,則將oldpage.html永久重定向到newpage.html。R=301指定301重定向,L表示停止后續規則匹配。
方法二:使用 httpd.conf 文件
此方法需要重啟Apache服務器才能生效。
-
找到Apache配置文件httpd.conf,位置通常在/etc/apache2/ (linux) 或 C:Program Files (x86)Apache GroupApache2conf (windows)。
-
找到
區塊,修改AllowOverride None為AllowOverride All,允許.htaccess文件生效。例如:
<Directory> Options Indexes FollowSymLinks AllowOverride All <!-- 修改此處 --> Require all granted </Directory>
-
保存并關閉httpd.conf文件。
-
重啟Apache服務器(Linux: sudo systemctl restart apache2;Windows: 在服務管理器中重啟Apache服務)。
-
在目標目錄下創建或編輯.htaccess文件,并按照方法一添加重定向規則。
通過以上步驟,即可成功配置Apache服務器的301重定向。 記住,選擇哪種方法取決于你的服務器配置和權限。 如果可以,建議優先使用.htaccess方法,因為它更靈活且無需重啟服務器。