htaccess URL重写产品不会重定向我

时间:2011-11-30 20:24:35

标签: .htaccess redirect

那里有很多信息,但我在interwebz上读过的内容并没有给我一个答案,说明为什么我的htaccess无效。

我无法确定为什么我的规则不会像我想象的那样重写URL。我有以下网址:

domain.com/Book/bookpage/index.php?bookID=123&bookName=foo_bar

我想更改它,以便当有人点击该网址时,它会显示为:

domain.com/Book/123/foo_bar

我开始试图仅使用书籍ID来使其工作,甚至没有让它工作。

这就是我到目前为止:

RewriteRule ^Book/([0-9]+)$    /Book/bookpage/index.php?bookID=$2

但是,将htaccess放在网站的根目录并转到URL后:

domain.com/Book/bookpage/index.php?bookID=123

地址栏中的网址保持不变。

2 个答案:

答案 0 :(得分:2)

试试这个:

RewriteEngine On
RewriteBase /

# this rewrite domain.com/Book/123 or domain.com/Book/123/
RewriteRule ^Book/([0-9]+)/?$ /Book/bookpage/index.php?bookID=$2 [L,NC,QSA]

# this rewrite domain.com/Book/123/title or domain.com/Book/123/title/
RewriteRule ^Book/([0-9]+)/([a-z0-9\-_]+)/?$ /Book/bookpage/index.php?bookID=$1&bookName=$2 [L,NC,QSA]

答案 1 :(得分:0)

尝试在行尾添加[L,R = 301]:

RewriteRule ^Book/([0-9]+)$ /Book/bookpage/index.php?bookID=$2 [L,R=301]