0

私はすでに多くのチュートリアルを検索しましたが、何もうまくいきませんでした。htaccesを使用して仮想サブドメインを作成したいのですが、mod_rewriteを有効にすると、ソフトウェアで元のURLが無効になります。例えば:

mod_rewrite disabled:
http://domain.com/listings.php?category=35

mod_rewrite enabled:
http://domain.com/35-finance/listings.html

有効にすると、http: //domain.com/listings.php?category=35にアクセスできません...

私のhtaccesでは、mod_rewriteが無効になっている場合、これは機能します。

RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-_]+).domain.com [NC]
RewriteRule (.*) listings.php?category=%2 [NC,QSA]

ただし、有効にすると機能せず、「category」パラメータを理解しません。

私はこれを試しました:

RewriteRule (.*) http://www.domain.com/%1/listings.html [L]

正しいページにリダイレクトされますが、サブドメインをブラウザバーに保持したい...

私はこれを試しました:

RewriteRule (.*) /%1/listings.html [L]

内部サーバーエラーが発生します。

私は今週以前に本当に多くのことを試しましたが、何も機能しません...

4

2 に答える 2

1

RewriteCond%{HTTP_HOST} ^(www。)?([a-z0-9 -_] +)。domain.com [NC]

RewriteRule(。*)listings.php?category =%2 [NC、QSA]

ただし、有効にすると機能せず、「category」パラメータを理解しません。

sの%22番目のパターンに一致する手段RewriteCond。このcaeでは、2番目のパターンが([a-z0-9-_]+)パーツです。

私のhtaccesでは、mod_rewriteが無効になっている場合、これは機能します。

mod_rewriteが本当に無効になっている場合、それらのルールは使用されていません。

RewriteRule(。*)http://www.domain.com/%1/listings.html [L]

正しいページにリダイレクトされますが、サブドメインをブラウザバーに保持したい...

RewriteRuleでドメインを指定すると、常にリダイレクトされます。パスのみを指定する必要があります(のように/%1/listings.html)。ドメインがすべて同じVirtualHostの一部である場合、これは問題にはなりません。

于 2013-02-02T00:00:34.803 に答える
0

このphpコードを使用して問題を解決しました:(www.gitme.net/php/ >> Gitme url2subdomain)

<?php

// code by büyücü.   www.gitme.net/php/

$full_url = sprintf($HTTP_HOST);
$subdomain = "";

for($i = 0;$i<=strlen($full_url);$i++)
{

  $dummy = substr($full_url,$i,1);

  if($dummy == ".")
  {
   break;
  }

  $subdomain = $subdomain.$dummy;

}

//



if ($subdomain <> "www")
{

  switch($subdomain)
  {
   case "gazeteler":
     $real_url = "http://www.gitme.net/gazeteler.htm";
     break;
   case "guzel-sozler":
     $real_url = "http://www.gitme.net/guzel-sozler.php";
     break;
    case "burclar":
     $real_url = "http://www.gitme.net/burclar.html";
     break;
      default : $real_url="http://www.gitme.net/";

  }

 include "$real_url";
 exit;
}


?>
于 2013-02-02T02:48:11.347 に答える