0

URLに特定の単語が含まれていない場合に、特定のモジュールを呼び出したい。例:urlがwww.abc.com/articles/aの場合、通常どおりにルーティングします。urlがwww.abc.comの場合、デフォルトモジュールを呼び出しているはずです。ただし、urlがwww.abc.com/qw/aswの場合は、ブログモジュール(コントローラー)を呼び出す必要があります。

4

2 に答える 2

0

この方法で URL を切り取って確認できます。

$subdir  = substr(realpath(dirname(__FILE__)), strlen(realpath($_SERVER['DOCUMENT_ROOT'])));
$tmp_array = explode('?', trim($_SERVER['REQUEST_URI']));
$uri = str_replace($subdir, '', $tmp_array[0]);
$uri = ltrim($uri, '/');
$URIParts = explode("/", $uri);


$URIPartsCount = count($URIParts);

if( $URIPartsCount>0 && in_array($URIParts[0],$pages) )
{
    $uripart = $URIParts[0];
    if( in_array($uripart,$somearray) )
    {
        $page = $uripart;
    }
    ...
    else
    {
        $page = "index";
    }
}
else
{
    $page = "index";
}

if( $URIPartsCount>1  )
{
    $todo =  $URIParts[1];
}
else
{
    $todo = "";
}

.htaccess

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)$ index.php?q=$1 [QSA]  
于 2012-12-08T06:49:17.650 に答える
0

私はあなたがこれを逆にやっていると思います。特定の URL パターンを、それらを移動させたいモジュールにルーティングしないのはなぜですか? はるかに簡単です。

于 2012-12-12T18:22:21.867 に答える