更改您的网址以执行其他操作

时间:2014-08-14 07:52:56

标签: php apache url

我不知道如何解释这个,但我会尽力解释它。

我正在用php开发我的网站。所以我在Search文件夹

中创建了一个index.php文件

因此,如果我必须搜索任何像'good'这样的词,那么它的地址就是

http://127.0.0.1/Website/search/?search=dh

现在,如果我尝试访问

http://127.0.0.1/Website/search/

我的网页上出现错误

Undefined index: search

因为它无法找到我用来获取输入类型值的$ _GET [“search”]变量。

我有什么方法可以制作这个网址

http://127.0.0.1/Website/search/something

被解释为

http://127.0.0.1/Website/search/?search=something

4 个答案:

答案 0 :(得分:2)

Undefined index: search

"因为它无法找到我的$ _GET ["搜索"]" :然后检查变量是否存在:

if (isset($_GET['search'])) {
    // use $_GET['search'];
}

对于第二个问题,您可以使用" mysite.com/Website/search/something"使用htaccess进行URL重写。 在SO或Google上搜索这些术语,你会发现很多很好的教程。

答案 1 :(得分:2)

对于第一个问题:使用isset()检查在使用之前是否已定义$_GET['search']

对于第二个问题:使用带有规则

.htaccess文件
RewriteRule ^/search/(.+)$ /search/?search=$1 [L,R] 

答案 2 :(得分:1)

你得到了:

Undefined index: search 

错误,因为您没有检查变量是否存在。

要做到这一点,你可以在下面做一个简单的if语句:

if(isset($_GET['search'])) {
    // search index exists
}

要更改您的网址,您需要使用网址重写,这里有一篇很好的文章:http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

答案 3 :(得分:0)

您应该在apache中使用重写规则:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html 在你的脚本中删除部分代码阅读"搜索" param并阅读$ _SERVER [' REQUEST_URI'],解析它以通过" seach"部分在URL中,然后阅读它。