2014-03-19 49 views
1

是否有可能檢查文件是否存在於字符串的一部分srver?如何獲取在RewriteCond中使用的查詢部分

我有一個像網址:

http://domain.com/faq.html 

而且我想,以檢查是否做了修改之前存在的文件

controllers/faq.php 

是否有可能得到「常見問題解答」部分爲$ 2(例如)和做

RewriteCond /controllers/$2\.php -f 
RewriteRule (.*)\.html index.php?controller=$1 

謝謝你的答案

回答

0

你是相當接近實際的解決方案。你可以做這樣的事情:

RewriteCond %{DOCUMENT_ROOT}/controllers/$1\.php -f 
RewriteRule ^([^.]+)\.html$ index.php?controller=$1 [L,NC,QSA] 

你需要檢查的$2.php

+0

有一件事我不明白的存在提供了使用%{DOCUMENT_ROOT}完整文件系統路徑......這裏被定義爲$ 2的值時,/?當它被分配「常見問題」,例如 – Grzegorz

+0

抱歉它應該是'$ 1'(固定它)。它在'RewriteRule'中被捕獲。 – anubhava

+0

不知何故,我有一個預感,就是這樣......但不想相信它。所以它似乎首先整個語句編譯,變量分配,然後評估......奇怪,但現在我知道我能做什麼!要測試它!謝謝。 – Grzegorz

相關問題