Проблема с .htaccess и несколькими правилами и условиями переписывания - PullRequest
2 голосов
/ 26 марта 2012

это мой текущий файл .htaccess:

RewriteEngine On

   RewriteCond %{REQUEST_FILENAME} -s [OR]
   RewriteCond %{REQUEST_FILENAME} -l [OR]
   RewriteCond %{REQUEST_FILENAME} -d
   RewriteRule ^.*$ - [NC,L]
   RewriteRule ^.*$ index.php [NC,L]

   RewriteCond %{REQUEST_URI} .*jpg$|.*gif$|.*png$|.*css$|.*js$ [NC]
   RewriteRule (^.*) http://d14t2ycfqndlt4.cloudfront.net/$1 [R=301,

последние 2 строки не работают, хотя когда я удаляю первый cond выше, id работает ...

чтоэта проблема?спасибо!

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

Примерно так должно работать:

RewriteEngine On

RewriteCond %{REQUEST_URI} (.*)\.(jpg|gif|png|css|js)$ [NC]
RewriteRule (.*) http://d14t2ycfqndlt4.cloudfront.net/$1 [R=301,...]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.*) - [NC,L]

RewriteRule (.*) index.php [NC,L]

Обратите внимание, что регулярные выражения немного легче понять.

0 голосов
/ 27 марта 2012

Это ваш исправленный и вычищенный .htaccess код:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule \.(?:jpg|gif|png|css|js)$ http://d14t2ycfqndlt4.cloudfront.net%{REQUEST_URI} [R=301,L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...