3

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

带有链接的站点:

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

index.php PHP 部分:

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

4 回答 4

3

您的规则应类似于:

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

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

于 2012-10-11T09:13:11.463 回答
3

我建议您在您的 URL 中保留相关信息,并且在这种情况下专辑标题似乎相关,因为我假设页面集中在它周围?

让你的 URL 像这样工作:

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

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

http://www.example.com/gallery/blacknwhite/
于 2012-10-11T09:14:18.173 回答
0

您需要查看一个名为htaccess的东西,因为您需要使用RewriteRule它来使它变得漂亮,但仍然$_GET['album']可以在您的 PHP 中使用。

于 2012-10-11T09:10:58.470 回答
0

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

于 2012-10-11T09:19:12.770 回答