Нужна помощь по использованию двухуровневых чистых URL с использованием .htaccess - PullRequest
0 голосов
/ 22 июля 2011

Я работаю над сайтом, который будет иметь два уровня, на которых URL достигает

Моя цель состоит в том, чтобы иметь чистые URL, подобные этим ...

http://domain.com/username/dosomething

Мой ужасный URL-адрес в настоящее время выглядит следующим образом ...

http://domain.com/index.php?page=username&command=dosomething

Моя попытка была такой

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1&command=$2
RewriteRule ^([a-zA-Z0-9]+)/$1/$2 index.php?page=$1&command=$2

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

Ваши ссылки просто ссылаются на весь ваш URL, так что вы говорите, что дать вам это index.php? page = {весь URL} & command = {null}

Вам необходимо настроить URL и использовать круглые скобки только вокруг страницы и команды переменных. Так ^ Domain.com / ([имя пользователя] +) / (DoSomething)

затем переписать с:

http://domain.com/index.php?page=$1&command=$2

при условии, что переменные вашей страницы и команды имеют имя пользователя и dosomething соответственно

0 голосов
/ 22 июля 2011

Вы неправильно используете свои обратные ссылки в первой части.Обратные ссылки - это выражения в скобках, которые затем будут вставлены в $ 1, $ 2 и др.во второй части правила.Например:

RewriteRule ^([^/]+)/([^/]+)$ /index.php?page=$1&command=$2

Эти выражения в скобках соответствуют одному или нескольким не / символам и заполняют их в $ 1 и $ 2 соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...