使用htaccess删除url中的子文件夹名称

时间:2014-02-11 06:22:08

标签: php .htaccess

我有一个网站,并使用htaccess代码进行重定向,其中,我有类似"http://username.domainname.com/userid"的网址,并希望删除部分“userid”,这样,网址将显示为"http://username.domainname.com/"

我使用以下代码获取"http://username.domainname.com/userid"

RewriteEngine on
RewriteBase /
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)$ /user_detail.php?cId=$1 [NC,L]

提前感谢帮助我。

2 个答案:

答案 0 :(得分:2)

我在php页面写了一组代码,这很好用。在索引页面中,包含以下代码:

$cId=0;
 $url=$_SERVER['HTTP_HOST'];
 $a= explode(".",$url);
 $objComp = new mysql_profile();
    $arrOrg= $objComp->select_admin_profileorgs(0);
    if($a[1]!='bgrow')
    {
      if(count($arrOrg) > 0)
    {  
        for($i=0;$i<count($arrOrg);$i++){ 
         $cUrl = $arrOrg[$i]['cUrl'];
         if((strtolower($cUrl) == $a[0]) || (strtolower($cUrl) == $a[1])) {  
            include($PATH."domain.com/user_detail.php");
         }
    }   
    } 
    }
    else { // inderpage content }

答案 1 :(得分:1)

尝试使用此规则进行重定向:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^[^.]+\.domainname\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^\w+/?$ / [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^([^.]+)\.domainname\.com$ [NC]
RewriteRule ^$ /user_detail.php?cName=%1 [QSA,L]