你好我想实现以下目标,但我不确定是否可以使用.htaccess和/或如何实现。
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中无法实现,请指出正确的方向。
答案 0 :(得分: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 :(得分: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]
答案 2 :(得分:0)
在文档根目录的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]