2017-01-01 28 views

回答

1

如果我理解正确你的问题:

你的问题基本上是你试图加载从公共URI要包含只有一个变量有两个变量:

浏览器使用指向/joe的链接,因此htaccess需要从这个单值文本链接中发现author_idauthor值。

这显然不能做到。

这类问题是一个引起流行mod_rewrites为“folderise”的网址,比如/author/4/joe,所以需要的信息都方面都存在于URI(4joe),但仍然URI“友好”。

要应用这种形式的解决方案,您定的URI:

RewriteRule ^/author/([0-9]+)/?(.*)$ /author.php?author_id=$1&author=$2 [NC,L] 
  • /author/ ==只有一个文件夹,用户清晰度非常有用(谁或什么是乔?)。
    /author/夹只是用于说明目的。此文件夹不存在。
  • ([0-9]+) ==数字只值,保存在括号稍后用作第一变量($1)作为读取从左到右。
    +表示贪心,需要尽可能多的字符(在此情况下,位数)为可用到达非数字
  • /? ==方法的可选字符(此情况下的斜线)
  • (.*)为第二==括号前保存字符串($2),此时任何字符(.)为任意长度(*)。
  • $ ==美元符号显示要重写的URI字符串的末尾。

这将有一个URI /author/4/joe将加载的页面(从浏览器隐藏)/author.php?author_id=4&author=joe

其他变化可能是诸如/4-joe/4joe之类的东西作为URL等等,每个包含author.php页面的两个必需数据片段。

+0

好的。我现在明白了。感谢您的解释。 –