2014-01-07 41 views
1

我有一個.htaccess文件像這樣(爲現有文件夾的作品):阿帕奇重寫到新的文件夾不工作

RewriteEngine On 

RewriteBase/

RewriteCond %{HTTP_HOST} ^.*da.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/HTML2/  
RewriteRule ^(.*)$ /thedavidsonagency/$1 [L,QSA] 

在我有一個文件夾thedavidsonagency相同的目錄/ index.php的帶:

<?php 
echo "Hello World"; 

index.php是davidsonagency /目錄中唯一的文件。

如果我訪問localhost/thedavidsonagency/我看到消息

Hello World 

然而,參觀da.com給我一個500內部服務器錯誤

我試圖改變:

RewriteRule ^(.*)$ /thedavidsonagency/$1 [L,QSA] 

RewriteRule ^(.*)$ /ashley/$1 [L,QSA] 

以前已經設置了ashley目錄。訪問da.com現在把我送到ashley網站沒問題!

我運行PHP 5.3.8,阿帕奇2.2.21(設置與XAMPP)

對在本地環境中的Windows 7,並設置Hosts文件:

localhost da.com 

其實我有幾個其他條目就像這樣用於不同的文件夾(網站)。他們都工作得很好。但是在我的htaccess中添加這個新條目到這個新文件夾不起作用。

有什麼建議?有沒有可以在某處清除的緩存?我試圖重新啓動Apache和我的電腦,沒有運氣...

回答

1

試試這個規則:

RewriteCond %{HTTP_HOST} da\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/(HTML2|thedavidsonagency)/ [NC] 
RewriteRule ^(.*)$ /thedavidsonagency/$1 [L] 
+0

嗯,這也適用。我喜歡你的規則是多麼明確,所以我會使用它們。不過,它在一段時間後纔開始工作。我沒有改變任何在htaccess或配置文件。不知道發生了什麼,也許清除緩存?雖然沒有意識到htaccess文件的緩存系統,但... – newms87

+0

htaccess沒有被緩存,但有可能在代碼/框架/瀏覽器等其他地方緩存。 – anubhava