gpt4 book ai didi

apache - 如何根据主机名或 IP 地址动态更改 RewriteBase?

转载 作者:行者123 更新时间:2023-12-02 05:08:27 25 4
gpt4 key购买 nike

目前我正在本地计算机上构建应用程序。应用位于/www/projects/mycustomproject/ 为了访问速度,它有自己的个人域,比如 mycustomproject.com。我已通过本地网络提供我的 Apache-PHP-MySQL,因此任何人都可以通过 IP 地址访问我的项目,该地址是 192.168.1.80 并且它链接到 /www/。要访问应用程序,您必须键入 192.168.1.80/projects/mycustomproject/,问题来了,默认情况下 mycustomproject.com 的配置是:

RewriteEngine on
RewriteBase /

通过假设的 IP 地址访问应用程序:

RewriteEngine on
RewriteBase /projects/mycustomproject/

问题是我如何定义这样的规则:

if REMOTE_ADDR == 192.168.*
RewriteBase /projects/mycustomproject/
else if HOSTNAME == 'mycustomproject.com'
RewriteBase /
etc.

可能还有其他基于主机名或 IP 地址的自定义条件,IF/ELSE 语句比 RewriteCond

更可取

最佳答案

为什么不将 mycustomproject 设置为它自己的 virtual host

像这样设置主机:

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

# default root for non-matched ServerName
DocumentRoot /www/

<VirtualHost *:80>
ServerName local.mycustomproject.com
DocumentRoot /www/projects/mycustomproject/
</VirtualHost>

然后您可以为 local.mycustomproject.com 创建一个本地 DNS 或 HOSTS 文件条目。

通过这种方式,您可以在本地托管任意数量的项目(只需添加更多 <VirtualHost> 部分),它们非常接近真实的生产环境。

如果您想使用“真实”域名,只需删除“本地”即可。在我的例子中。

您还可以使用 ServerAlias设置例如 ServerAlias www.local.mycustomproject.com

关于apache - 如何根据主机名或 IP 地址动态更改 RewriteBase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com