htaccess root和子目录奇怪的行为

时间:2014-06-24 12:10:10

标签: php apache .htaccess mod-rewrite yii

我有两个带有以下树的Yii应用程序:

(app v2.0)
/ 
/.htaccess
/index.php

(app v1.0)
/v1.0/ 
/v1.0/.htaccess
/v1.0/index.php

Root(v2.0).htaccess是:

RewriteEngine On
RewriteCond %{REQUEST_URI} \.svn
RewriteRule .* - [F,L]
RewriteCond %{REQUEST_URI} \.git
RewriteRule .* - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?v2.0=%{REQUEST_URI}/$1 [L,QSA]

v1.0 .htaccess是:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php/?v1.0=%{REQUEST_URI}&file=%{REQUEST_FILENAME}/$1 [L,QSA]

我们的想法是将/site/index之类的请求转到/index.php/v1.0/site/index转到/v1.0/index.php

我的结果很奇怪:

/ goes to /index.php [OK]
/site/index goes to /index.php [OK]
/v1.0/ goes to /v1.0/index.php [OK]
/v1.0/site/index goes to /index.php [??? - NOT OK]

/v1.0/site/index通过/v1.0/.htaccess传递(使用参数跟踪)并直接转到/index.php

[服务器正在运行CentOS 6.5]

甚至没有设置RewriteBase解决了我的问题。 $ _GET参数v1.0v2.0file仅用于跟踪应用程序中的请求。

有什么猜测吗?

0 个答案:

没有答案