或更好地說,重寫所有內容到app.php
除/public/
路徑。我一直在環顧四周,但無法找到有效的解決方案。基本上我想要的是每個url都將被路由到app.php/route,即使文件夾存在 - 除非它已經被例外。目前我只是獲得403和foo,但是他們應該被路由到app.php/foo
和app.php/bar
。另一方面,/public/
不應該被重寫。mod_rewrite即使現有的文件和文件夾
其他一些會很酷,但並不重要的是,url /app.php/
將被重寫爲app.php/app.php
。
我需要做什麼在我的htaccess實現這種重寫方式?
目錄結構:
-| projects
-| SomeSite
-| foo
- .htaccess [deny from all]
-| bar
- .htaccess [deny from all]
-| public
-| css
-| js
-| img
- app.php
- .htaccess [mod_rewrite is here]
我現在重寫htaccess的:
DirectoryIndex app.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !(/public|app\.php)$
RewriteRule ^(.*)$ app.php/$1 [QSA,L,NC]
是否還有其他2的任何重寫規則htaccess文件? (在foo和bar中) –
引用REQUEST_FILENAME上的文檔:_「完整的本地文件系統路徑到文件或者匹配請求的腳本,如果這已經被服務器確定了」_--我認爲這可能是這裏的問題,服務器已經將foo目錄作爲已有的查找過,但是在那裏發現了你的「全部否認」htaccess - 因此用403來回答。你能否暫時從所有的拒絕服務中得到驗證? – CBroe
@JonLin不,只是一個'拒絕所有'。 – RemiDG