htaccess URL Rewrite для продуктов не перенаправляет меня - PullRequest
2 голосов
/ 01 декабря 2011

Существует достаточно информации, но я ничего не прочитал на interwebz, что дало мне ответ, почему мой htaccess не работает.

Я не могу определить, почему мое правило не переписывает URL так, как я думал. У меня есть следующий URL:

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

Я хотел бы изменить его так, чтобы, когда кто-то нажимал на этот URL, он показывал:

domain.com/Book/123/foo_bar

Я начал с того, что пытался заставить его работать, используя только идентификатор книги, и даже не получил этого.

Это то, что я имею до сих пор:

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

Однако после размещения этого htaccess в корне сайта и перехода по URL:

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

URL-адрес в адресной строке остается прежним.

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

попробуйте это:

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]
0 голосов
/ 01 декабря 2011

Попробуйте добавить [L, R = 301] в конце строки:

RewriteRule ^Book/([0-9]+)$ /Book/bookpage/index.php?bookID=$2 [L,R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...