如何从php中的url获取数据

时间:2012-11-26 09:05:44

标签: php mod-rewrite

大家好我已经和$_GET['whatever']一起工作了,这次我需要一些我在看过这个网址之前从未做过的事情domain.com/author/name_of_user我的问题是如何获取数据在那种URL?我一直在寻找答案,他们所说的只是$_GET['']; 例如,我有这个链接http://localhost/domain/attachments.php 我该如何将这个更改为http://localhost/domain/attachments/?我将如何从$_GET['']获取数据?请帮帮我,我真的很困惑

4 个答案:

答案 0 :(得分:5)

这称为URL重写:

http://httpd.apache.org/docs/2.2/rewrite/

http://www.iis.net/downloads/microsoft/url-rewrite

这些是在Apache / IIS中重写URL的链接。

简而言之,它需要:http://localhost/domain/attachments.php和“转换”(或重写)它 http://localhost/domain/attachments(或您喜欢的任何内容)。

通常用于改善搜索引擎优化。

你仍然可以正常使用$ _GET,因为它只是一个转换,最后你仍然有whatever.php?var = value& ....只是它对浏览器的显示方式不同。

答案 1 :(得分:3)

重写URL很简单。 Apache附带了一个名为mod_rewrite的mod来处理这个问题。您唯一需要做的就是在.htaccess中编写一些规则。

我建议你阅读这篇文章:htaccess Tricks

答案 2 :(得分:2)

您应该使用Apache的重写模块来重写您的URL。

在您的特定情况下 - 激活mod_rewrite后 - 尝试此重写规则:

RewriteEngine On
RewriteRule ^domain/attachments/?$ /domain/attachments.php

但是,这不会以任何方式影响您的$_GET数组。

答案 3 :(得分:2)

您需要在网站的根目录下使用.htaccess文件,该文件会将您的网站网址从example.com/index.php?var1=12&var2=23重写为类似于example.com/pagename/12/23的内容 以下是使用.htaccess进行URL重写的一些基础知识:http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html