Apache-2.2

為什麼我的 htaccess 重定向不起作用?

  • December 10, 2021

我設置了一個簡單的 htaccess 重定向,如下所示(這是整個 .htaccess 文件):

Options +FollowSymLinks

RewriteEngine On

Redirect 301 /something http://something.com/something.php

如果我然後載入包含此 .htaccess 的站點,即 myredirectsite.com/something,我最終會得到以下 404:

The requested URL /something was not found on this server.

Apache/2.2.3 (Red Hat) Server at myredirectsite.com Port 80

和日誌:

$$ Tue Jul 10 14:25:46 2012 $$ $$ error $$ $$ client xx.xx.xxx.xx $$文件不存在:/home/sites/scp/something 有些東西不是文件,有些東西不存在。我假設我可以像 Rewrite 一樣使用 Redirect,但看起來重定向需要用於實際存在的文件?

我創建了文件“某物”,它只是嘗試載入空白文件。沒有重定向。

讓這個工作我錯過了什麼?

確保

AllowOverride All

在 httpd.conf 文件中設置!

但是,如果您可以訪問主配置文件,我建議您在那里而不是在 .htaccess 文件中進行配置 - .htaccess 文件會降低伺服器速度。如果您的伺服器負載非常低,這可能不是問題,但即使在較小的項目中也可以使用最佳實踐。

我的 httpd.conf 文件未在此伺服器上配置為站點目錄中的 AllowOverride。它被設置為“無”,我改為:

AllowOverride All

引用自:https://serverfault.com/questions/406279