【问题标题】:Server Request URI WildCard Magento服务器请求 URI 通配符 Magento
【发布时间】:2012-05-11 23:16:25
【问题描述】:

我目前正在使用以下代码在链接上生成活动状态: <?php if ($_SERVER["REQUEST_URI"] == "/styles/bracelets.html/"):?>

后跟一个 else if 语句。 如何添加通配符,以便上面的路径包含路径为:/styles/bracelets.html?p=2、/styles/bracelets.html?p=3 等的所有页面。

提前致谢 山姆

【问题讨论】:

  • 欢迎来到 SO,希望您在这里过得愉快。

标签: php magento content-management-system request


【解决方案1】:

在这种情况下,您可以使用strpos()

if (strpos($_SERVER['REQUEST_URI'], '/styles/bracelets.html/') === 0):

这基本上检查以确保 /styles/bracelets.html/ 位于请求 URI 的开头,并且如果末尾有其他内容尾随 / 也将通过。如果在 haystack 中没有找到需要,strpos 将返回 false,如果在 haystack 开头找到,则返回 0,因此需要 ===

preg_match() 也可以,但 strpos 在这种情况下可以解决问题。

【讨论】:

  • 谢谢。我在这里过得很愉快。
  • 它会取代你在这种情况下所拥有的。
【解决方案2】:

我想我找到了更清洁的方法:

if($_SERVER['SCRIPT_NAME'] == '/desired_page_name.php')

$_SERVER['SCRIPT_NAME'] 返回当前脚本的路径,但省略了可能的 $_GET 连接。

即如果输入了www.example.com/page.php?variable=value,那么$_SERVER['SCRIPT_NAME'] 将只包含/page.php 部分。

【讨论】:

    猜你喜欢
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多