Улучшение этого URL с помощью .htaccess и mod_rewrite - PullRequest
0 голосов
/ 17 сентября 2009

У меня есть URL, который я хочу сократить с помощью mod_rewrite.

В самом уродливом виде это выглядит так:

/img.php?i=15&a=92

В идеале это будет выглядеть так:

/img/15/92

Проблема иногда в том, что это может быть просто:

/img.php?i=15

В этом случае человек введет:

/img/15

Так что я думаю, что мне нужен mod_rewrite, подобный этому:

RewriteRule ^/img/(.*)/(.*)$ /img.php?i=$1&a=$2

То, что я представляю, будет работать только в том случае, если в URL есть обе переменные, а не только сокращенная версия.

Как сделать одну перезапись, которая работает для обоих, или какЯ делаю 2, не отменяя другой?

1 Ответ

2 голосов
/ 17 сентября 2009

Попробуйте это правило:

RewriteRule ^img/([0-9]+)(/([0-9]+))?$ img.php?i=$1&a=$3

При использовании mod_rewrite в файле .htaccess необходимо удалить префикс пути к каталогу из шаблона (в данном случае ведущий /). Потому что mod_rewrite делает это тоже и возвращает его после процесса перезаписи.

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