我需要隐藏profile.php
不会出现在网址中。
所以这就是我所拥有的:
我正在访问的网址:
sampleuser.domain.com/profile.php
我如何获得用户' sampleuser':
$url = "//".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
/*this will give me $url = '//sampleuser.domain.com/profile.php'; */
function get_user_from_url($url)
{
if (strpos($url , 'www.') !== false) {
preg_match('/\/\/www.(.*?)\.domain/', $url, $val);
}
else
{
preg_match('/\/\/(.*?)\./', $url, $val);
}
return $val[1];
}
$user = get_user_from_url($url);
echo $user;
我只需要隐藏profile.php
,还要考虑的是如果我们隐藏profile.php
,它可能与index.php冲突。
但幸运的是,如果URL只是domain.com(没有用户),我们只会访问index.php。
我对htaccess
知识很低,任何人都可以给我直接答案,如果你能补充一些解释,我会非常感激,它会给我一个先入为主的学习htaccess
。
答案 0 :(得分:0)
所以基本上,我所做的是一个动态子域。所以我在DNS上添加了一个子域名: * .domain.com
然后在我的htaccess上添加了这些
<IfModule mod_rewrite.c>
#Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule ^/?$ /agent/index.php?user=%2 [L]
</IfModule>