2013-07-27 70 views
1

我基本上希望能夠瀏覽某個文件夾內的文件夾並尋找匹配。我認爲,一個例子是說明它的最簡單的方法:我希望能夠在 domain.com/css/style.css .htaccess - 通配符文件夾在中間的文件路徑的mod_rewrite條件?

或者訪問一個文件

甚至 domain.com/[modulename]/css/style.css(這可能有助於使事情變得更加有組織的,現在我想的它)

但該文件在/application/modules/[modulename]/public/css/style.css和[模塊名稱]可能每次都有所不同。

我有RewriteCond %{DOCUMENT_ROOT}/application/modules/$1 -f但這不會工作,除非我使用的網址/[modulename]/public/css/style.css - 我怎麼能讓它尋找通路中的通配符?

編輯:關於第二個想法,那就必須domain.com[modulename]/css/style.css,因爲有可能是整個網站不止一個style.css

+0

理想情況下,我不得不像'/應用/模塊/ $ 1 /公/ $ 2' - 但我不最好在mod_rewrite –

+0

這裏的主要問題是動態模塊名稱文件夾如果你知道一個給定的css文件屬於那個文件夾,如果它們在多個文件夾中有相同的名稱,該怎麼辦?然而,你可以通過'RewriteCond%{REQUEST_URI}(。*)/ css /(。* \ .css)$' – Prix

+0

獲得文件名給定你可以使用的設置'RewriteRule ^(。*)/ css /(.*\.css)$/application/modules/$ 1/public/css/$ 2 [L]' – Prix

回答

1

它的工作今天5小時後,我得到了它的工作:

RewriteCond %{REQUEST_URI} !^/application/modules/ 
RewriteRule ^([a-zA-Z0-9\-]+)/(.*)$ /application/modules/$1/public/$2 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}%{REQUEST_FILENAME} [NC,L]