2015-10-01 2 views
0

Как переписать, если файл после stylesheets затем прочитать файл под конкретную папку
например
, если пользователь на сайтеКак rewirte URL посетить файл под другую папку

domain1.com/stylesheets/index.css actually read > domain1.com/app/assets/stylesheets/index.css 

или если визит

domain1.com/stylesheets/bundle/index.css read > domain1.com/app/assets/bundle/stylesheets/index.css 

Я попытался под кодом, но не работал ...

RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com\.localhost\$ [NC] 
RewriteRule ^/stylesheets/(.*)\.css$ app/assets/stylesheets/$1 
#or this rule not work too 
RewriteRule ^/stylesheets/$ app/assets/stylesheets/$1 


<VirtualHost *:80> 
    DocumentRoot "/Users/username/Sites/domain1.com" 
    ServerName domain1.com 
</VirtualHost> 
+0

Вам нужно собрать файлы, о которых идет речь, иначе apache не знает, что делать :-) – Jan

+0

Эти правила определены в конфигурации Apache вместо .htaccess? – anubhava

+0

@anubhava no, ниже Тег виртуального хоста в httpd-vhost config –

ответ

0

Прежде всего, необходимо проверить HTTP_HOST от имени хоста (без каких-либо дополнительных вещей, то есть):

RewriteCond %{HTTP_HOST} ^domain1\.com\$ [NC] 

Во-вторых, для того, чтобы иметь возможность обработать запрос дальше, вам нужно будет захватить его частей (в скобках, то есть).

+0

hm ..... но это мой вопрос У меня нет правильного правила перезаписи –

0

Вы можете использовать это правило в ВХосте конфигурации или в месте корневой .htaccess:

RewriteEngine On 
RewriteRule ^/?(stylesheets/.+?\.css)$ /app/assets/$1 [L,NC] 

При использовании ВХоста конфигурация не забудьте перезапустить Apache после внесения этих изменений. Это предполагает, что путь app/assets/ существует как полный путь к файловой системе /Users/username/Sites/domain1.com/app/assets/

Смежные вопросы