.htaccess 将动态域重定向到文件夹

Posted

技术标签:

【中文标题】.htaccess 将动态域重定向到文件夹【英文标题】:.htaccess redirect dynamic domain to folder 【发布时间】:2012-10-28 12:23:11 【问题描述】:

对于本地开发,我设置了我的路由器以将所有对 *.lan 的请求重定向到我的本地 xampp 服务器。现在我必须为我想使用的每个域设置虚拟主机。这可行,但我不想为每个项目设置一个新的虚拟主机(指向相应的文件夹)并重新启动 apache。

是否可以创建一个 .htaccess 文件来“捕获”一个域,并将其重写到文件夹中,这样我就可以使用域作为文件夹名称?例如:

example1.lan 加载位于 /example1/ 的网站

example2.lan 加载位于 /example2/ 的网站

这个踏板 (Apache - Domain for localhost to access folders as http://folder.local) 做几乎相同的事情,但有一个重定向。我不想要重定向,我想要重写。

提前致谢!

【问题讨论】:

【参考方案1】:

尝试将这些规则添加到文档根目录(example1 和 example2 目录所在的目录)的 htaccess 文件中:

RewriteEngine On
RewriteCond %HTTP_HOST ^(.*)\.lan$
RewriteCond %REQUEST_URI !^/%1/
RewriteRule ^(.*)$ /%1/$1 [L]

【讨论】:

感谢您的回复...我认为它必须是 $1 和 %1,但这个解决方案只给了我 500 个错误。我清除了我的主机文件并重新启动了 apache,但 500 错误仍然存​​在。 @Wietse 忘记条件,现在试试 嗨,乔恩,感谢您的努力,但它似乎不起作用;我仍然收到 500 错误。还有什么想法吗?

以上是关于.htaccess 将动态域重定向到文件夹的主要内容,如果未能解决你的问题,请参考以下文章

使用.htaccess将域重定向到子文件夹

.htaccess:将主域重定向到https:// www,子域重定向到https://(不带www)

htaccess 域重定向到新域

在 .htaccess 中使用 HTTPS 将旧域重定向到新域

Htaccess 规则将域重定向到 index.html

HTACCESS-将辅助域重定向到主域