.htaccess
RewriteEngine On
# generic: ?var=value
# you can retrieve /something by looking at $_GET['something']
RewriteRule ^(.+)$ /?var=$1
# but depending on your current links, you might
# need to map everything out. Examples:
# /users/1
# to: ?p=users&userId=1
RewriteRule ^users/([0-9]+)$ /?p=users&userId=$1
# /articles/123/asc
# to: ?p=articles&show=123&sort=asc
RewriteRule ^articles/([0-9]+)/(asc|desc)$ /?p=articles&show=$1&sort=$2
# you can add /? at the end to make a trailing slash work as well:
# /something or /something/
# to: ?var=something
RewriteRule ^(.+)/?$ /?var=$1
Первая часть - это полученный URL. Вторая часть - переписанный URL, который вы можете прочитать, используя $_GET
. Все между (
и )
рассматривается как переменная. Первый будет $1
, второй $2
. Таким образом, вы сможете точно определить, куда переменные должны попадать в переписанный URL, и тем самым знать, как их получить.
Вы можете сделать это очень общим и разрешить "все", используя (.+)
. Это просто означает: один или несколько (+
) любого символа (.
). Или быть более конкретным и, например, разрешены только цифры: [0-9]+
(один или несколько символов в диапазоне от 0 до 9). Вы можете найти гораздо больше информации о регулярных выражениях на http://www.regular -expressions.info / . И это хороший сайт для их проверки: http://gskinner.com/RegExr/.