2013-06-18 57 views
12

我使用XAMPP,但我無法在本地主機上使用.htaccess文件。我嘗試了很多次。在線工作很好。但顯示本地主機[該請求的URL沒有此服務器上找到].htaccess無法在本地主機上使用XAMPP

我的根文件夾是真正的

localhost/acre/real/property_available.php 
localhost/acre/real/properties 


<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /acre/real/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^properties$ /property_available.php/$1 [NC,QSA] 
</IfModule> 

+0

本地主機是Windows還是其他系統?在服務器或專用機器上使用虛擬主機? httpd.conf是否也在本地主機上(即所有其他cfg)?本地主機上記錄的任何錯誤日誌數據?仔細檢查路徑信息是否正確(/prop....php)? – 2013-06-18 07:42:38

+0

我使用Windows XP – acre

+0

您是否啓用了mod_rewrite和.htaccess?什麼是您的DocumentRoot? – anubhava

回答

5

沒有看到你的系統就很難說什麼是錯的,但嘗試以下(評論回答,如果這些不適用於日誌錯誤消息)

[停止您的Apache服務器實例。確保它沒有運行!]

1)移動Apache服務器/安裝到沒有長文件名和空格

2)檢查的httpd.conf中安裝\ conf文件夾,查找AccessFileName的文件夾。如果是的.htaccess將其更改爲文件名的窗口接受(如conf.htaccess

3)仔細檢查你的htaccess文件被讀:添加一些無法解釋的垃圾,並啓動服務器:你應該得到錯誤500。如果你不這樣做,文件不會被讀取,重新訪問httpd.conf文件(如果看起來不錯,檢查這是否是唯一一個定義htaccess和它的位置的文件,它在一個地方 - 只在文件中;同時檢查httpd.conf和htaccess文件是否都可訪問:未加密,文件訪問權限不受限制,驅動器/路徑可用 - 沒有長文件夾路徑和文件名 - )
再次停止Apache,然後繼續:
4)如果您有IIS系統太上,從SERVICES.MSC

5)將停止它(如果你可以卸載它太)以下到您的有效htaccess文件的頂部:
RewriteEngine敘述在
RewriteLog「/path/logs/rewrite.log」#確保路徑在那裏!
RewriteLogLevel 9

6)清空[阿帕奇] \ logs文件夾(如果你使用其他文件夾,那麼這一個:)

7)檢查以下項設置正確:
行動應用程序/ x -httpd-PHP 「C:/your-php5-path/php-cgi.exe」
的LoadModule php5_module 「C:/your-php5-path/php5apache2.dll」
的LoadModule rewrite_module模塊/ mod_rewrite.so
避免在文件夾名稱中使用長路徑名稱和空格來安裝phpX!

8)啓動Apache服務器

你可以做以上所有步驟或者去一個接一個,你的電話。但在一天結束時,請確保您嘗試了以上所有內容!
如果系統還炸燬了,你不能修復它,從日誌文件夾複製粘貼&錯誤消息(S)爲進一步幫助

32

剛剛有了一個類似的問題

httpd.conf

檢查解決它
 # AllowOverride controls what directives may be placed in .htaccess files. 
    # It can be "All", "None", or any combination of the keywords: 
    # Options FileInfo AuthConfig Limit 
    # 
    AllowOverride All <--- make sure this is not set to "None" 

這是值得注意的,我試着(從馬克的回答)「把垃圾放入.htaccess」,這確實給服務器錯誤 - 但即使它被讀取,它沒有被採取行動不允許覆蓋。

+0

我也有這個問題,但無法找到任何地方的http.conf文件。我應該肯定有嗎? – RGriffiths

+0

我認爲你應該在默認安裝時創建它。注意它是httpd.conf – TimP

+0

謝謝 - 找到它。通過Xampp控制面板訪問。我正在尋找C:/ .....路徑等 – RGriffiths

6

嘗試

<IfModule mod_rewrite.so> 
... 
... 
... 
</IfModule> 

,而不是<IfModule mod_rewrite.c>

+0

你省得我感謝老兄:) –

15

在的conf /額外/的httpd-vhosts.conf,添加行AllowOverride All所有你與

<VirtualHost example.site:80> 
    # rest of the stuff 
    <Directory "c:\Projects\example.site"> 
     Require all granted 
     AllowOverride All <-----This line is required 
    </Directory> 
</VirtualHost> 
+0

這解決了我的虛擬主機.htaccess問題。我沒有看到其他地方提到過這個解決方案。謝謝! – nunzabar

+0

這對我來說非常合適,謝謝! –

0
有問題的網站

我有類似的問題。但問題出在文件名'.htaccess'中,因爲Windows不讓文件名以「。」開頭,所以解決方案使用CMD命令重命名該文件。 「重命名c:\ xampp \ htdocs \ htaccess.txt .htaccess」

+1

您也可以在窗口中創建任何以句點開頭的文件,方法是在文件名後添加一個句點...因此,創建文件爲.htaccess.Windows將刪除附加句點,最後以.htaccess ' – Precastic

相關問題