$ _GET的替代品

时间:2012-10-11 09:08:27

标签: php javascript get

我有一个画廊,应该显示不同的图片专辑。
当我用链接打开图库时,我用PHP添加了相册名称:
<a href="gallery/index.php?album=nature
然后我用$_GET['album']获取相册名称。它工作正常。
但对我来说,一个干净的URL很重要。当我完成网站并将其上传到主机,然后我用.htaccess文件更改URL“布局”。
因此,网址http://www.example.com/gallery/index.php?album=blacknwhite更改为http://www.example.com/gallery/
现在我认为使用新网址$_GET不再有用了。有没有替代$ _GET来交出专辑名称?
这是代码示例:

包含链接的网站:

<a href="gallery/index.php?album=nature">D</a>

index.php PHP部分:

<head>
<?PHP
   $album = $_GET['album'];
?>
</head>

4 个答案:

答案 0 :(得分:3)

您的规则应该类似于:

RewriteRule ^/([a-z]+)/?$ get_product_by_name.php?product_name=$1 [L]

它根本不应该影响$ _GET,所以如果它不起作用,那是因为你的规则设置不正确。

答案 1 :(得分:3)

我建议你在网址中保留相关信息,在这种情况下,相册标题似乎相关,因为我认为页面是围绕它集中的?

让您的网址改为:

http://www.example.com/gallery/<album-title>/

由于您似乎已经知道如何使用htaccess,如果您获得此类格式,请将URL重写为“丑陋”的URL。您的网址看起来会好得多。

http://www.example.com/gallery/blacknwhite/

答案 2 :(得分:0)

你需要查看一个名为htaccess的内容,因为你需要使用RewriteRule来使它变得漂亮,但仍然可以在PHP中保持$_GET['album']

答案 3 :(得分:0)

是的还有另一种方法,但不推荐。看http://php.net/manual/en/reserved.variables.server.php 你可以使用 $ _ SERVER 。但正确的方法是使用RewriteRule,这里有很好的解释: http://www.webdeveloper.com/forum/showthread.php?214564-RewriteRule-with-GET-data