Вот две подсказки, которые могут вам помочь:
Во-первых, вы можете использовать эти ключевые слова в своем регулярном выражении (я позволю вам Google для получения дополнительной информации): %{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]