Apache-2.2
為什麼我的 htaccess 重定向不起作用?
我設置了一個簡單的 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