apache - 替换 url htaccess 中的目录
问题描述
我有一些 htaccess 规则来尝试创建类似于 vhost 的设置。我的网站在共享主机上,所以我无法控制虚拟主机,所以我想通过 htaccess 规则来模仿它,但我很难弄清楚如何从 url 中删除其中一个目录。
RewriteCond %{HTTP_HOST} ^test2.mydom.com$ [NC]
RewriteCond %{REQUEST_URI} !(.*)test2
RewriteRule ^((?!test2/).*)$ /test2/$1 [L,NC]
目前这些是我设置的规则,它能够重定向到正确的文件夹,它会根据我的需要删除 test2 目录,但它正在这样做,所以没有任何 css 加载。
这是我为另一个站点设置的另一组规则,它可以正常工作并且 css 可以完美加载,但它将测试保留在 url
RewriteCond %{HTTP_HOST} ^test.mydom.com$ [NC]
RewriteCond %{REQUEST_URI} !^/test/
RewriteRule ^(.*)$ /test/$1 [L,R]
解决方案
我可以通过简单地删除重写规则中的斜杠来实现这一点。改为:
RewriteRule ^((?!test2).*)$ /test2/$1 [L,NC]
推荐阅读
- typescript - 在打字稿中重用函数重载
- python - 使用基本文本提取和映射相似的文本结果,使用 Pandas 转换为两列
- python - 使用 setup.py 中的 setuptools.setup 值显示 __version__
- nlp - 最新的预训练多语言词嵌入
- ssl - 在 nginx 入口控制器后面启用 tls 时,keycloak 停止工作
- apostrophe-cms - 如何将撇号 CMS 移动到另一台服务器
- javascript - 如何停止甜食中的音频?
- python - getloadavg() 与 CPU 数量有关,超过 100%
- azure - Azure 上的 Kubernetes 集群自动缩放器问题
- r - 从 R 中的 data.frame 对象中提取元素