如何使用php和mod_rewrite中的参数检查url是否为主页

时间:2019-05-08 21:18:09

标签: php url mod-rewrite

即使用户使用参数,我也需要编写一个函数来检查URL是否为主页。 Apache的mod_rewrite已启用以支持漂亮的url。

我刚遇到此功能,但是在尝试使用Facebook链接后,当应为true时其返回值为false。

provider:
  name: aws
  iamRoleStatements:
    ...
    - Effect: "Allow"
      Action:
        - "s3:GetBucketNotification"
        - "s3:PutBucketNotification"
      Resource:
        Fn::Join:
          - ""
          - - "arn:aws:s3:::BUCKET_NAME or *"

当前结果:

function isHomePage(){
    if(trim($_SERVER['REQUEST_URI'])=='/'){
        return true;
    }
}

预期结果:

/ = true
/?id=someid = false
/page/ = false
/page/?id=someid = false

1 个答案:

答案 0 :(得分:1)

如果您的软件本身不知道它在哪里(很奇怪),则有两个问题需要解决:

  1. 获取URL路径,无需其他操作。
  2. 确定它是否是主页。

第一种方法可以通过多种方式完成,但是最好的方法是在$_SERVER['REQUEST_URI']上使用parse_url()function isHomePage() { $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); return in_array($path, ['/', '/home.html', '/index']); } 是为了访问页面而给出的URI。

第二个完全取决于您发送到主页的URL。通常有多个URL,因此您应该全部检查它们。

这将给出以下代码:

{{1}}

很显然,您必须使用首页URL更改数组,以适应您的需求。