2015-01-15 3 views
0

У меня есть веб-сайт, который использует веб-фрейм Yii2, то, что я пытаюсь сделать с apache, - это переписать URL-адрес, когда запрос не запрашивает js или css-файл. здесь приходит мой конфиг:Почему RewriteCond не работает в httd.conf?

#in httpd.conf 
    <VirtualHost *:80> 
     DocumentRoot /Users/shenshijun/Sites/intuplus/frontend/web 
     ServerName intuplus 
     RewriteEngine On 
     <IfModule rewrite_module> 

      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteRule ^/(.*)$ /index.php/$1 

      LogLevel alert rewrite:trace3 
     </IfModule> 
    </VirtualHost> 

URL-адрес для JS файла, как в следующем: http://intuplus/assets/85c70b6b/js/bootstrap.js, который я могу получить доступ при удалении правила перезаписи. Но когда я добавляю rewriterule и rewritecond, url переписывается в любом случае, и я не могу получить доступ к файлу js или css. Итак, может кто-нибудь объяснить, почему RewriteCond здесь не работает?

ой версии Apache: Server version: Apache/2.4.10 (Unix)

ответ

0

Ваше правило переписывание неправильно, вы должны попробовать это:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

Подробнее: http://www.yiiframework.com/doc-2.0/guide-start-installation.html#recommended-apache-configuration

+0

Я использую регулярное выражение, вместо этого, вы можете объяснить, почему это не работает? – ssj

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