這裏有兩條線索,可以幫助你:
首先,你可以使用這些關鍵字到你的正則表達式(我讓你谷歌獲取更多信息):%{SCRIPT_FILENAME}
和%{REQUEST_URI}
其次,這裏有一個例子如何使用它:
# (1) if domain name is static:
RewriteCond %{HTTP_HOST} ^(.*)\.s\.(.*) [NC,OR]
RewriteCond %{HTTP_HOST} ^(.*)\.static\.(.*) [NC]
# (2) and it's not the JavaScript directory:
RewriteCond %{REQUEST_URI} !^/js/(.*)$
# (3) *always* add /templates/ (if not there):
RewriteRule /(templates/)*(.*) /templates/$2 [L]
而且有幾個人知道,你甚至可以改變整個目標文件名這種方式(注:STATIC
和PATH_LOCAL
瓦里能是我以前計算幾步環境變量):
# If static...
RewriteCond %{ENV:STATIC} 1
# ...first test to see if the file exists in the language path:
RewriteCond %{DOCUMENT_ROOT}/%{ENV:PATH_LOCAL}/%{ENV:EXT}%{REQUEST_FILENAME} -f
# It exists => rewrite filename then end:
RewriteRule ^(.+) %{DOCUMENT_ROOT}/%{ENV:PATH_LOCAL}/%{ENV:EXT}%{REQUEST_FILENAME} [QSA,L]
感謝您的線索,但我仍然無所適從。 我不想引用和替換另一個字符串,就像在您的模板示例中您引用字符串'模板'的規則中那樣。 我只是想剝離request_filename並將其附加到'process.php',作爲我規則的最後部分。 – u01jmg3 2012-03-07 17:21:41