2012-09-06 84 views
1

我一直在嘗試多個不同類型的例子,但我不能得到它的工作時,試圖添加更多的文件夾和文件作爲重定向的例外。我只知道這一個例子可以在我的Apache本地主機的工作:htaccess重定向除了多個文件夾和文件

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule !^js($|/) http://google.com [L,R=301] 
</IfModule> 

所以基本上我想重定向所有除JS,CSS,IMG文件夾和getOrder.php,getCustomer.php文件,類似的東西。任何人都可以在這種情況下幫忙

+1

你*實際上*是否想重定向任何不存在的東西? – Hamish

+0

我想重定向除了那些文件夾和文件以外的所有文件,如果有人訪問其他文件夾或文件,而不是像我在cookies.txt或其他任何其他文件中指定的那樣,請重定向它們。上面的代碼只允許js訪問,當試圖添加更多時,它失敗了。 – Ardeus

回答

1

我建議你添加一個「最後」的規則,說「不要觸摸這些文件夾」。然後做你的重定向。

編輯:使用包裝器元素(FollowSymLink,ReWriteEngine on)更新答案。

Options +FollowSymLinks 
Options -Indexes 

# These folders will not be touched. 
RewriteEngine On 
RewriteCond %{REQUEST_URI} "/css/" [OR] 
RewriteCond %{REQUEST_URI} "/img/" 
RewriteRule (.*) $1 [L] 

# Then have your redirect rule 
RewriteEngine On 
RewriteRule (.*) http://google.com [L,R=301] 

雖然作爲意見提出,你可以在「文件未找到」這可能是更合適的重定向?或者把文件夾中的重定向放到你不想讀的文件夾中。重定向到您所說的「未找到」的頁面也比重定向到谷歌更好。但那是你的電話。

+0

Iam不知道,但你的例子沒有工作,我仍然可以訪問這些CSS和IMG文件夾,而無需重定向到谷歌。但是,如果你說文件沒有找到(非主流),那麼沒有必要對此做任何事情? – Ardeus

+0

htaccess允許您訪問CSS和圖像文件夾 - 是不是你要求的?列出的文件夾(或文件)是您不會重定向到的文件夾(或文件)。 – Robbie

+0

我的意思是,它仍然可以訪問所有文件夾,而不僅僅是css和img文件夾。怎麼樣的文件,你使用REQUEST_FILENAME這樣的東西? – Ardeus

相關問題