检测Domain Root或Subdirectory中的脚本

时间:2010-10-24 20:03:55

标签: php apache mod-rewrite

我编写了一个小的php脚本,它使用了使用mod_rewrite规则的干净url。该脚本需要知道运行的位置。

  • root domain:yourdomain.com
  • sub dir yourdomain.com/subdir /

目前要为脚本设置路径。我使用以下两个,

  • 案例:根域

    定义( “在scriptUrl” 的 'http://'.$_SERVER [' HTTP_HOST '] .dirname($ _SERVER [' PHP_SELF'])); 定义( “ScriptUri”,目录名($ _ SERVER [ 'PHP_SELF']));

  • 案例: SubDir

    定义( “ScriptUrls” 的 'https://'.$_SERVER [' HTTP_HOST '] .dirname($ _SERVER [' PHP_SELF '])。'/'); 定义( “在scriptUrl” 的 'http://'.$_SERVER [' HTTP_HOST '] .dirname($ _SERVER [' PHP_SELF ']。)'/'); 定义( “ScriptUri”,目录名($ _ SERVER [ 'PHP_SELF'])。 '/')

现在,我的问题是如何检测脚本是在subdir(yourdomain.com/subdir/)或根域(yourdomain.com)中。有没有办法在PHP中执行此操作,或者我已为每次安装手动设置配置?

1 个答案:

答案 0 :(得分:0)

将变量$page_url替换为您正在检查的网址,并将变量$sub_dir替换为子目录名称,例如'/subdir'

if ( FALSE === strpos ( strtolower ( $page_url ), strtolower ( $sub_dir ) ) )
{
    // run code for non sub dir
}
else
{
    // run code for SubDir
}

strtolower()函数不是很必要,但我通常会使用这些函数来确保您不必担心区分大小写的检查。