使用 PHP + .htaccess 访问 GET 变量 [英] Access GET variables with PHP + .htaccess

查看:24
本文介绍了使用 PHP + .htaccess 访问 GET 变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 PHP 开发网站.我的 .htaccess 有这个重写规则:

I'm developing a website using PHP. My .htaccess has this rewrite rule:

RewriteEngine On
RewriteRule ^book/([^/]*).html$ book.php?title=$1 [L]

所以 URL 看起来像:www.example.com/book.php?title=title-of-the-book变成 www.example.com/book/title-of-the-book.html

So the URL that looked like: www.example.com/book.php?title=title-of-the-book turns into www.example.com/book/title-of-the-book.html

在特定情况下,从站点的另一个页面,我想链接到这样的页面:www.example.com/book.php?title=title-of-the-book?myfield=1然后变成www.example.com/book/title-of-the-book.html?myfield=1.html

In a specific case, from another page in the site, I want to link to pages like this: www.example.com/book.php?title=title-of-the-book?myfield=1 that then turns into www.example.com/book/title-of-the-book.html?myfield=1.html

在那里,我无法使用通常的 PHP 方式访问 GET 变量

Being ther, I cannot acces the GET variables using the usual PHP way

$variable = $_GET['myfield']

我该如何解决这个问题?

How do I solve this problem?

推荐答案

Specify [QSA] (Query string append) 这样你就可以在你的 url 后面传递一个查询字符串.

Specify [QSA] (Query string append) so you may pass a query string after your url.

RewriteEngine On
RewriteRule ^book/([^/]*).html$ book.php?title=$1 [QSA,L]

PS:你为什么在这里使用 * ?+ 不是更适合吗?

PS: Why are you using * here? Wouldn't + suit better?

这篇关于使用 PHP + .htaccess 访问 GET 变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆