指向PHP的URL,参数指向子域
我们一直被困在一个问题上,即使有关于StackOverflow的所有文章,我们似乎也无法解决这个问题;我们有一个类似“www.example.nl/domain.php?user=somename”的网站,我们需要用户通过输入“somename.example.nl”来访问该页面。我们已经尝试了很久,但没有一个答案对我们有用 我们尝试过类似以下代码:指向PHP的URL,参数指向子域,php,.htaccess,redirect,url-rewriting,subdomain,Php,.htaccess,Redirect,Url Rewriting,Subdomain,我们一直被困在一个问题上,即使有关于StackOverflow的所有文章,我们似乎也无法解决这个问题;我们有一个类似“www.example.nl/domain.php?user=somename”的网站,我们需要用户通过输入“somename.example.nl”来访问该页面。我们已经尝试了很久,但没有一个答案对我们有用 我们尝试过类似以下代码: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d R
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www\.)?example.nl$ [NC]
RewriteRule ^([^/]*)/?$ domain.php?user=$1 [NC,QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^(www|mail).example.nl$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+).example.nl$ [NC]
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?$ domain.php?user=%2 [NC,QSA,L]
此外,在此之前,我们尝试了以下方法:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+).example.nl$ [NC]
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?$ domain.php?user=$1 [NC,QSA,L]
如果这是一个转载,我道歉,但我已经被困在这几个小时,我真的需要一个明天到期的项目的答案
谢谢你抽出时间来帮助我们 您不仅需要设置代码和web服务器来处理此问题,还需要设置DNS配置。您需要使用通配符匹配将所有子域重定向到同一IP地址 以下是在web浏览器中打开URL的工作原理:
somename.example.nl
转换为IP地址somename.example.nl
)因此,必须通过DNS解析此名称
somename.example.nl
,否则用户的计算机将不知道在哪里(到哪个IP地址)发送HTTP请求。您的DNS设置正确,是吗?我们没有更改DNS,因为我们不想要实际的子域,我们只想让作为子域输入URL的用户查看“www.example.nl/domain.php?user=somename”页面。是的,但是用户的计算机仍然必须知道如何查找somename.example.nl并将其解析为IP地址,在那里它可以发送HTTP请求。这就是我们试图通过htaccess文件实现的。我们不必更改DNS,因为我们没有手动为用户创建子域。是的,您知道。请参阅下面的答案。关于通配符DNS条目的基本信息,我相信您可以找到更好的文章: