首页 > 解决方案 > 替换 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]

标签: apache.htaccess

解决方案


我可以通过简单地删除重写规则中的斜杠来实现这​​一点。改为:

RewriteRule ^((?!test2).*)$ /test2/$1 [L,NC]

推荐阅读