提前通知非技术性条款;但请记住,在发布此处之前,我确实尝试了很多解决方案。
在webroot文件夹下我有2个网站;这些是切入点:
/frontend/web/index.php
/backend/web/index.php
我的目标是
/frontend/web/index.php
开放http://domain.tld
/backend/web/index.php
开放http://domain.tld/something
这是我的webroot/.htaccess
RewriteCond %{REQUEST_URI} !^something
RewriteRule ^(.*)$ frontend/web/$1 [L]
RewriteRule ^(.*)/something$ backend/web/$1 [L]
通过这种方式,domain.tld/
正在打开/frontend/web
(GOOD),但也 domain.tld/something
指向frontend/web/index.php
而不是{{1} }}
答案 0 :(得分:2)
当用于匹配htaccess文件中的规则时,会从URI中删除前导斜杠。这意味着这个正则表达式:
^(.*)/something$
永远不会匹配看起来像这样的URI:
something/...
尝试将正则表达式更改为:
RewriteRule ^something(.*)$ backend/web$1 [L]