首页 > 解决方案 > 使域适用于网站和管理面板

问题描述

我有一个像example.com下面的.htaccess代码一样工作的域。网站的构建位于此路径中:vdsta_app/website 并且工作正常

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^((?!vdsta_app/website/).*)$ /vdsta_app/website/$1 [L,NC]

现在我希望我的管理面板工作example.com/admin-panel

管理面板构建位于此路径中:vdsta_app/admin-panel/

我尝试了一些代码,但没有工作。请给一些建议。

标签: .htaccessmod-rewrite

解决方案


您现有的规则会重写尚未以vdsta_app/website/to开头的所有内容vdsta_app/website/<whatever>,因此如果您需要更具体的重写,那么它必须您现有规则之前进行。

例如:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^admin-panel(?:/(.*))?$ /vdsta_app/admin-panel/$1 [L]

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^((?!vdsta_app/(website|admin-panel)/).*)$ /vdsta_app/website/$1 [L,NC]

还在admin-panel第二条规则中添加负前瞻。

如果您没有多个域/主机名,则可以删除检查标头的条件Host。或者将其移至其自己的例外规则中。


推荐阅读