2011-09-27 143 views
1

我訪問文件看起來像這樣不重寫:htaccess的 - 在這種情況下

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

但是我有,我想通過URL http://mysite.com/facebook作爲usuall訪問的目錄名爲Facebook的。我需要添加到上面,以便它忽略(不重寫)此目錄?

+0

你能解釋一下爲什麼你需要重寫規則^ * $ - [NC,L]和 重寫規則^ * $的index.php [NC,L]。? RewriteCond%{REQUEST_FILENAME} -d應該允許正常的目錄遍歷,因爲這會關閉對存在的目錄的重寫。 – Brendan

+0

我自己不明白 - 它是Zend Framework的標準htaccess文件。 – Owen

+0

你有任何使用「臉譜」作爲網址的路線?考慮可能導致問題的原因。它也可以是目錄上的權限。 – Brendan

回答

0

地址:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{REQUEST_URI} !^/facebook 
RewriteRule ^.*$ index.php [NC,L] 
+0

即使將Rewrute改爲Rewrite之後,也會得到500錯誤。 – Owen

+0

@Owen在'!'後面試試沒有空格 – LazyOne

+0

@LazyOne - 好吧,現在不會出現500錯誤,但它沒有區別。該請求仍然通過index.php/facebook。 – Owen