如果你愿意
domain.com/page1/33/1-Free-Cocktails!/
转化为
http://domain.com/index.php?seite=page1&?id=33&name=1-Free-Cocktails!
放
.htaccess
文件到
domain.com/.htaccess
的内容
.htaccess
文件应为:
RewriteEngine On
RewriteRule ^([a-z\0-9]+)/([0-9]+)/([A-Z\a-z\0-9\-\_]+)/$ /index.php?seite=$1&?id=$2&name=$3 [L]
如果您不需要
33/
。那就是
http://domain.com/page1/1-Free-Cocktails!/
转换为
http://domain.com/index.php?seite=page1&name=1-Free-Cocktails!
然后
.htaccess
如下所示:
RewriteEngine On
RewriteRule ^([a-z\0-9]+)/([A-Z\a-z\0-9\-\_]+)/$ /index.php?seite=$1&name=$2 [L]
更新:
顺便说一下,如果你不想
33/
显示在URL中您可以使用
POST
与使用
GET
.
使用
method post
你必须使用表单。此示例混合了POST和GET方法。
seite
和
name
使用GET方法发送,而
id
使用
柱,柱
方法它看起来有点尴尬,但这里是:
<div class="pull-right kaufen">
<form action="index.php?seite=page1&name=<?php echo $product->prettyLinks($name);?>" method="post">
<input type="hidden" value="<?php echo $item['id'];?>" name="id" />
<input type="submit" value="Submit">
</form>
</div>
然后在接收数据的PHP页面上
身份证件
等等可以如下输出:
<?php
echo htmlspecialchars($_POST["id"]);
echo htmlspecialchars($_GET["seite"]);
echo htmlspecialchars($_GET["name"]);
?>
参考:
Apache mod_rewrite Introduction
(请参阅“Regex备份参考可用性”一节中的“图1”)
$_POST
更新2
:
你将无法在
.htaccess
,因为正如我在一条评论中所说的“加载页面后,您将无法重写URL”。
.htaccess
不是PHP。您的URL如下
http://domain.com/page1/1-Free-Cocktails!/
。但是,例如,您可以将您的“33”id映射到某个预定义的名称,并将其显示在
<title><?php echo $_POST["id"];?></title>
标签
然而,您可以选择使用JavaScript和AJAX。但这将是另一个问题。您可以在这里开始您的研究:
Javascript: How do I change the URL in the address bar without refreshing the page?
Is there a way to change the browser's address bar without refreshing the page?