我有一个画廊,应该显示不同的图片专辑。
当我用链接打开图库时,我用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>
答案 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