Mod Rewrite Subdomain to PHP with GET variable(Mod使用GET变量将子域重写为PHP)
问题描述
我正在尝试围绕 mod 重写,但似乎无法弄清楚这一点.
I'm trying to wrap my head around mod rewrite, but can't seem to figure this out.
有什么办法可以做到以下几点吗?
Is there a way I could do the following?
用户输入:http://wildcard.mydomain.com
默默地写信给:
http://mydomain.com/index.php?username=wildcard
推荐答案
您必须在 RewriteCond
然后在 RewriteRule
.额外的 RewriteCond
用于防止 www.mydomain.com
和 index.php
被重写
You must capture the first part of the domain in a RewriteCond
and then use this in a RewriteRule
. The additional RewriteCond
s are there to prevent www.mydomain.com
and index.php
being rewritten
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{HTTP_HOST} ^(.+?).mydomain.com$
RewriteRule .* /index.php?username=%1 [L]
但这只是所需功能的一小部分.此外,您必须为所有 username.mydomain.com
域名设置 DNS 条目或设置 通配符 DNS 条目 *.mydomain.com
指向您的主机.
But this is only a small part of the needed functionality. Additionally, you must setup DNS entries for all of your username.mydomain.com
domain names or setup a wildcard DNS entry *.mydomain.com
pointing to your host.
否则,例如,客户端会尝试联系 jcraine.mydomain.com
,但找不到 DNS 条目并进行投诉.
Otherwise, the client tries to contact jcraine.mydomain.com
, for example, and doesn't find a DNS entry and complains.
如果这是虚拟主机,您还必须为每个添加一个 ServerAlias
你的用户名
If this is a virtual host, you must also add a ServerAlias
for each of your usernames
ServerAlias jcraine.mydomain.com
或一个通配符捕获所有子域
or a wildcard catching all subdomains
ServerAlias *.mydomain.com
这篇关于Mod使用GET变量将子域重写为PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Mod使用GET变量将子域重写为PHP
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- PHP - if 语句中的倒序 2021-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01