有一个Yii2项目。我需要为所有网页从域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
路径)仍然存在。