使用.htaccess重写URL不会指向新URL

时间:2015-09-21 07:23:39

标签: apache .htaccess mod-rewrite

我使用.htaccess重写网址

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^book/([^/]*)$ /book.php?book=$1 [NC,L]

这很有效,如果我在浏览器的地址栏中输入http://www.domain.org/book/title1,它就会带我到那里。但是当我点击索引页面上的链接时,我会转到旧地址http://www.domain.org/book.php?book=title1

1 个答案:

答案 0 :(得分:0)

这是因为您没有任何执行重定向的规则。这样做:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+book\.php\?book=([^\s&]+) [NC]
RewriteRule ^ /book/%1? [R=302,L,NE]

RewriteRule ^book/([^/]+)/?$ book.php?book=$1 [NC,L,QSA]