как написать редирект .htaccess, как это делает stackoverflow для своих вопросов - PullRequest
3 голосов
/ 03 января 2011

Я пытаюсь написать правило .htaccess, которое перенаправило бы кого-то, запрашивающего

http://mysite.com/questions/123/my-question-name

до

http://mysite.com/questions/question_handler.php?qid=123

Вот что я написал до сих пор (это не работает):

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?(.*)$ [NC]
RewriteRule ^(.*)/questions/(\d+)/(.*)$ http://%1/questions/question_handler.php?qid=%2$1 [R=301,L]

Любая помощь очень ценится.

Ответы [ 2 ]

4 голосов
/ 03 января 2011

RewriteRule ^http://([^/]*)/questions/(\d+)/(.*)$ http://$1/questions/question_handler.php?qid=$2

Ваш (.*) был, вероятно, слишком жадным, поэтому он использовал http://mysite.com/questions/123/my-question-name, поскольку первая группа соответствовала

2 голосов
/ 03 января 2011

Я бы сделал что-то вроде этого

RewriteEngine on
RewriteRule ^questions/([0-9]+)/?$ questions/question_handler.php?qid=$1 [NC,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...