.htaccess - 使域适用于网站和管理面板
问题描述
我有一个像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/
我尝试了一些代码,但没有工作。请给一些建议。
解决方案
您现有的规则会重写尚未以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
。或者将其移至其自己的例外规则中。
推荐阅读
- influxdb - Telegraf logparser 给出错误。解析日志行错误:: 必须有一个或多个字段
- python-3.x - 如何为嵌套列表编写带有计数器的 for 循环?
- spring-boot - 在 Spring Boot OAuth2RestOperations 中刷新 OAuth 令牌
- laravel - 如何在 laravel 中设置最小的增量 id
- java - 未知原因:java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 from Command Line
- c++ - 具有静态存储持续时间的常量初始化变量的初始化顺序
- java - Spring mongo 只写字段
- python - 在 Catalina 更新后 subprocess.call() 失败并出现错误 -43
- java - 有没有办法将子序列记忆到变量中?
- graphql - 如何在 DynamoDB 中保存 Quill.js Delta