【发布时间】:2012-11-29 23:20:52
【问题描述】:
我有以下结构
/var/www/mysite/public/
/var/www/mysite/api/
在这两个目录中,.htaccess 设置为重写 url 如下:
dev.domain.com/example/ => dev.domain.com/index.php?token=example
dev.domain.com/api/example => dev.domain.com/index.php?token=example
我的 apache conf 看起来像这样
...
<VirtualHost *:80>
Servername dev.domain.com
DocumentRoot /var/www/mysite/public/
Alias /api/ "/var/www/mysite/api/"
<Directory "/var/www/mysite/api/">
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
...
dev.domain.com/api/ 工作正常(它调用 www/api/index.php)但 dev.domain.com/api/example/ 调用公共站点(带有查询字符串 token=example 的 www/public/index.php)。
我认为 apache 指令 Alias 也在重定向子目录,但显然不是这样。谁能告诉我哪里错了?
【问题讨论】:
-
您能否同时显示两个 .htaccess 中的重写?
-
@freedev 这是来自 mysite/api/
RewriteRule ^api/(.*)/(.*)/$ index.php?object=$1&collection=$2 [QSA,L] RewriteRule ^api/(.*)/$ index.php?object=$1 [QSA,L]的那个(注意:这是“真实的”,不是带有令牌/示例的)
标签: apache alias subdirectory