透明地将特定URL重写/拆分到不同的子文件夹

时间:2014-02-22 01:37:58

标签: apache .htaccess mod-rewrite

我需要透明地将流量分配到两个不同的子目录。

例如,任何包含/api/...

的网址

需要重写为app/webroot

任何其他网址都需要透明地映射到site/子文件夹。

我尝试了几件事情,试图将所有内容重定向到一个子文件夹,但甚至无法使其工作,我有一个永恒的重定向循环。

<IfModule mod_rewrite.c>
    RewriteEngine on
    Options +FollowSymlinks
    RewriteRule ^\.htaccess$ - [F]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/site/
    RewriteRule ^(.*)$ site/$1 [L]
</IfModule>

1 个答案:

答案 0 :(得分:1)

试试这个,看看这是否适合你。

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/api
RewriteRule ^(.*)$ /app/webroot [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/site
RewriteRule ^(.*)$ /site/$1 [L]