.htaccess переписать переменную get в нечто более элегантное - PullRequest
0 голосов
/ 13 декабря 2010

Я только что закончил писать новый сайт. Это простой блог. Единственный совет, который я получил от своих читателей, это то, что я должен рассмотреть вопрос об изменении www.example.com/?page=3 на что-то вроде www.example.com/1.

.

Как мне написать это правило перезаписи?

1 Ответ

0 голосов
/ 13 декабря 2010

Если ваши URL-адреса имеют общий шаблон и части внешнего используемого URL-адреса могут быть напрямую сопоставлены с внутренним используемым URL-адресом при сохранении уникально идентифицируемого URL-адреса (как, вероятно, ваш URL-адрес), вы можете сделать что-то подобное с помощью mod_rewrite: 1001 *

RewriteEngine on
RewriteRule ^[0-9]+$ /?page=$1 [L,QSA]

Это перезапишет внутренний запрос /12345 на /?page=12345.

В противном случае, если шаблон отсутствует или отображение не является тривиальным, вам, вероятно, потребуется указать каждый случай, например:

RewriteEngin on
RewriteRule ^foo$ /?page=1 [L,QSA]
RewriteRule ^bar$ /?page=2 [L,QSA]
RewriteRule ^baz$ /?page=3 [L,QSA]

Вы также можете просто передать запрос в ваш PHP-файл и выполнить там отображение.

...