Я пытаюсь написать правило .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]
Любая помощь очень ценится.
RewriteRule ^http://([^/]*)/questions/(\d+)/(.*)$ http://$1/questions/question_handler.php?qid=$2
Ваш (.*) был, вероятно, слишком жадным, поэтому он использовал http://mysite.com/questions/123/my-question-name, поскольку первая группа соответствовала
(.*)
Я бы сделал что-то вроде этого
RewriteEngine on RewriteRule ^questions/([0-9]+)/?$ questions/question_handler.php?qid=$1 [NC,L]