2011-12-27 18 views
0

我想將內容顯示爲(不存在)子文件夾。所有這些子文件夾字符串都應發送到file.php並作爲變量附加:「n」。在modrewrite反向引用中找不到錯誤

我的PHP腳本已經正常工作了。 (如果我在地址欄中附加了變量,file.php會顯示它應該顯示的所有內容。)但是我好像在我的.htaccess定義中至少有一個錯誤,我現在幾天都找不到。 (所有頁面仍可訪問,但由於某種原因,如果我將任何字符串(只允許使用字符)作爲子文件夾,我無法訪問file.php(所有真實文件都應保持可訪問性,因爲它們是真實文檔或子文件夾,它應該在我的.htaccess文件被排除在重寫規則通過的條件。)

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z0-9_-]+)/?$ file.php?n=$1 [QSA,NC,L] 

誰能給我一個提示,爲什麼我的定義並沒有做什麼,我希望他們做什麼?

回答

1

對於第一級,這是工作就好了。所以,如果「富/」是不是爲你工作,我覺得你的.htaccess文件不被正確解析。

如果我TS「下級」不工作(「富/酒吧/」和這樣的),那是你的問題,用這個來代替重寫規則:

RewriteRule ^((([a-z0-9_-]+)/?)*)$ file.php?n=$1 [QSA,NC,L] 

它將匹配嵌套的任何級別,給你的整個路徑。 (僅用於最後一個子目錄,請使用$ 2或$ 3而不是$ 1)。

+0

非常感謝您爲我們提供了令人難以置信的快速回復。我不需要使用更深的層次。 – Onsemeliot 2011-12-27 10:44:12

+0

我沒有猜到,該文件沒有正確解析,因爲我可以通過在我的.htaccess文件中添加錯誤,輕鬆地使所有文件無法訪問。您認爲問題仍然存在,即.htaccess文件未正確解析?我如何檢查? – Onsemeliot 2011-12-27 10:51:56