使用$ _GET而不使用'?'

时间:2016-03-12 14:32:35

标签: php html

我想在PHP中创建一个由 $ _ GET 捕获的链接。让我解释一下:

目前我在 HTML

中执行此操作
<a href="?contactus">Contact Us</a>

这就是我在 php

中所做的
<?php
    if (isset($_GET['contactus'])){
        include "contactus.php";
    }
?>

在这种情况下,地址变为www.domain.com/?contactus

但我想要这样的地址:www.domain.com/contactus

如果我将html更改为<a href="contactus">Contact Us</a> 但它不起作用。有人请告诉我。感谢

3 个答案:

答案 0 :(得分:1)

您可以使用domain.com/contactus并解析网址

$url = "http://domain.com/contactus";
$url = parse_url($url);
$path = $url['path']; // contactus
echo $path;  // contactus

然后你可以使用它

 if ($path == "contactus"){
       include "contactus.php";
    }

您仍需要重写网址,尝试添加或修改.htaccess文件

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^contactus/?$    contactus-page.php    [NC,L]    # Handle requests for "contactus"

答案 1 :(得分:1)

您需要一个.htaccess文件才能使其正常工作

像这样:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^contactus\/?/?$ index.php?contactus
</IfModule>

和index.php这样

<?php
    if (isset($_GET['contactus'])){
        include "contactus.php";
    }
?>

答案 2 :(得分:0)

嗨,你需要这样做 在你设置锚标签的页面上做以下 $ URL = “?contact.php页”= '联系我们'; 给href =“$ url”。

另一方面,您可以使用$urlget = $_GET['page'];

请注意,您使用的属性是页面,所以当您尝试进入其他页面时,您需要使用$_GET['page'],当您点击地址栏中的联系我们页面时,您可以看到网址还有联系人。 php?page ='contactus'显示