@jekahm

Пофиксить .htaccess, чтобы не скачивался index.php (в Yii2)?

Доброго времени суток!
Появилась задача сделать посредством htaccess временный редирект с домена sitename.ru на поддомен ru.sitename.com для всех страницы, кроме некоторых (которые начинаются с /news). Сделал это след. образом:
RewriteEngine On

AddDefaultCharset UTF-8

php_value upload_max_filesize 20M
php_value post_max_size 25M
php_value memory_limit 256M

RewriteCond %{REQUEST_URI} !^/news.*$
RewriteRule (.*) http://ru.sitename.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]


Редиректы со всех страниц происходят. Но при доступе к страницам, начинающихся с /news, происходит скачивание файла index.php вместо того, чтобы их отображать.
Почему это может происходить? И как этого можно избежать?
Заранее благодарен!

UPD 1
Настройка Apache:
<Directory /path/to/web/dir/www/sitename.ru/web>
    Options +ExecCGI
    php_admin_value open_basedir "/path/to/web/dir:.:/usr/lib/php:/usr/local/lib/php:/tmp"
    php_admin_flag engine on
</Directory>

<VirtualHost 1.11.11.111:81>
    ServerName sitename.ru
    DocumentRoot /path/to/web/dir/www/sitename.ru/web
    SuexecUserGroup admin admin 
    CustomLog /path/to/httpd-logs/sitename.ru.access.log combined
    ErrorLog /path/to/httpd-logs/sitename.ru.error.log
    ServerAlias www.sitename.ru
    ServerAdmin email@yandex.exo
    ScriptAlias /cgi-bin/ /path/to/web/dir/www/sitename.ru/web/cgi-bin/
    php_admin_value open_basedir "/path/to/web/dir:.:/usr/lib/php:/usr/local/lib/php:/tmp"
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f email@yandex.exo"
    php_admin_value upload_tmp_dir "/path/to/web/dir/mod-tmp"
    php_admin_value session.save_path "/path/to/web/dir/mod-tmp"
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
    AddHandler php5-script .php
</VirtualHost>


UPD 2
Заметил, что такая же ситуация происходит со всеми php файлами, которые находятся в директории web. Чтобы пофиксить это, добавил в конфиг Apache след. строку:
AddHandler php5-script .php
Теперь php файлы стали обрабатываться правильно. Но ситуация с путём /news остаётся всё той же.
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ответы на вопрос 1
taliban
@taliban
php программист
Я так понимаю что это два физически разных сервера?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы