2011-04-19 102 views
0

我想对我的网页进行URL重写。有2种的同一页上可以链接如下:用3个变量重写URL

分页: http://www.xxxxx.com/dictionnaire.php?page=4 ,我想是这样的: http://www.xxxxx.com/dictionnaire/p4

字: http://www.xxxxx.com/dictionnaire.php?idW=675&word=Resto-basket ,我想是这样的: http://www.xxxxx.com/dictionnaire/675/Resto-basket

在.htaccess,我有以下几点:

RewriteRule ^dictionnaire/p([0-9]+)?$ dictionaire.php?page=$1 [NC,L]  
RewriteRule ^dictionnaire/([0-9]+)/([a-z])?$ dictionaire.php?idW=$1&word=$2 [NC,L] 

问题:

  1. 这是这样做的最好的谷歌友好的方式? (主要是单词链接,还是有更好的?)
  2. 你可以有一个链接2重写规则?像上面一样?
  3. 在我的代码中是否有错误,请帮助。
  4. 当我创建此代码时,我的CS和图像未出现。你能帮我解决吗?

我知道这是一个长的问题,但我认为这将是更容易这样。

感谢您的帮助。

回答

0
  1. 这是最好的谷歌友好的方式吗? (主要是链接这个词,还是有更好的?)那么,你可以把page4放在分页部分,要么不会真的影响它。对于Word页面,为什么你会通过ID找到单词而不是实际的单词?这个词=(WORD)实际上并没有做任何事情。也许完全删除ID,并通过单词进行搜索,以便它可以是dictionnaire/word /(WORD)。
  2. 你可以有2个重写规则的一个链接?像上面一样?是的,它是完全有可能有超过2个重写规则(认为许多论坛,这样做)
  3. 是否有我的代码中的错误,是这样,请帮助。我没有看起来很难,但它似乎没有任何错误。
  4. 当我创建此代码时,我的CS和图像未出现。你能帮我解决吗?这里的问题是它正在为你的css文件搜索/dictionnaire/p4/css.file.css。它不像我想要的那样在你的根目录中查找。将直接根目录添加到以/开头的以/开头的CSS文件。
0
  1. 这应该是“Google友好”的。
  2. 是,重写规则按顺序应用;只要匹配并替换网址,就不太可能有任何进一步的匹配(因为它们将处理前一个替换的网址)。
  3. 对我来说没问题。但是,如果您允许目标网址有点不同(在第二个网址上使用page =而不是idW =),则可以将其制作为一个规则。
  4. 这是因为浏览器会询问相对于未重写URL的资源(它当然不知道幕后发生了什么)。您必须为图片和CSS使用绝对网址(或者在网址中使用../,或为资源添加更多重写规则以使其工作)。

希望有所帮助。

编辑:对不起,因为你在规则的末尾有[L],它会停止尝试匹配任何更多的规则,一旦它匹配一个。这在这种情况下不会有任何实际效果。