2014-03-07 96 views
1

我安裝了Apache。htaccess不能在windows server 2003上安裝apache

我有LoadModule rewrite_module modules/mod_rewrite.so未註釋並在http.conf中將AllowOverride None的每個實例設置爲AllowOverride All

我的網站是在一個子文件夾,所以它像http://123.34.56.123/Website/去它。

.htaccess文件

RewriteEngine On 
RewriteBase /Website/ 
Options +FollowSymLinks 

RewriteRule ^index.php http://www.google.com/? [R=301,L] 

但是當我訪問上面的地址,它不重定向到google.com,相反,顯示的index.php的內容。

更新:

添加了垃圾的.htaccess文件和http.conf中強制內部服務器錯誤,它仍然只是去我的index.php。

$_SERVER上做了一個var轉儲,發現這個:["SERVER_SOFTWARE"]=> string(17) "Microsoft-IIS/6.0",但是找不到任何圍繞IIS的程序文件。

+0

什麼文件夾中的'.htaccess'文件是?另外,只是一個預感:你在文章中反覆稱它爲「htaccess文件」。文件名*必須*爲'.htaccess'。你能確認它是否正確命名? –

+2

如果這是一個全新的安裝 - 常見的Windows問題是編輯httpd.conf作爲非管理員,並且Windows爲非管理員創建它的影子副本 - httpd繼續使用真實文件。一個快速測試是附加「fdsfsfsfs」並查看它是否破壞Apache。 – covener

+0

@covener嗯,所以我編輯了http。conf文件通過附加垃圾到它,並沒有打破Apache。你讓我走上了新的道路,謝謝! – Josh

回答

0

根據你的問題,你的問題的一些可能的原因:

  • 錯誤命名.htaccess文件。您在文章中反覆稱其爲「htaccess文件」。文件名必須爲.htaccess(前導爲.)。

  • 文件在錯誤的目錄中。確保此文件位於您網站的根目錄中。

  • 您需要啓用的模塊不是mod_userdir.so,而是mod_rewrite.so。尋找這樣的一行:LoadModule rewrite_module modules/mod_rewrite.so

  • 確保[R=301,L]是在同一行RewriteRule它適用的,否則你將有錯誤。

另外,不要做這個301,甚至進行測試 - 它將永久重定向流量到您的index.php給谷歌。 301就是這樣。要進行測試,請使用302

+0

對不起,我的困惑和錯誤。它被命名爲'.htaccess',並在我的網站的根目錄中出現在'/ Website /'中。啓用的模塊也是正確的,我修復了我的帖子以反映這一點。此外,RewriteRule與標誌[R = 301,L]位於同一行,這是由於某人在編輯我的帖子時發生錯字導致的結果。 – Josh

相關問題