2013-04-13 63 views
-1

您好,我希望實現以下目標,但我不確定是否可以使用.htaccess和/或如何這樣做。htaccess url重寫到子目錄而不更改地址欄

http://domain/admin/rest should go to http://domain/backend/www/rest 
http://domain/rest should go to http://domain/frontend/www/rest. 

但最好不更改地址欄中的網址。 其餘的可以是'news/1 /'之類的東西。

如果在.htaccess中無法使用,請指向正確的方向。你的文檔根

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} !/(frontend|backend) [NC] 
RewriteRule ^admin/(.*)/? /backend/www/$1  [L,NC] 

RewriteCond %{REQUEST_URI} !/(frontend|backend) [NC] 
RewriteRule ^(.*)/?  /frontend/www/$1  [L,NC] 

回答

1

您可以在一個.htaccess文件的根目錄試試這個

RewriteEngine On 

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

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

在htaccess文件,嘗試添加這些規則:

1

而第三種解決方案

RewriteEngine on 

# rewrite all requests /admin/ 
RewriteRule ^admin/(.*)$ /backend/www/$1 [L] 

# rewrite everything else 
RewriteCond %{REQUEST_URI} !^/frontend/www/ 
RewriteCond %{REQUEST_URI} !^/backend/www/ 
RewriteRule ^.*$ /frontend/www/$0 [L]