#php #.htaccess #url-rewriting
#php #.htaccess #url-переписывание
Вопрос:
У меня есть правило reqrite, которое почти делает то, что я хочу. Я был бы признателен за некоторую информацию о том, как ее настроить.
RewriteRule ^gallery(/(([a-zA-Z0-9-] )/?)?)?$ gallery.php?groupId=$3 [NC,QSA]
это правило работает, но мне нужно, чтобы оно обрабатывало еще один аргумент, подобный этому
RewriteRule ^gallery(/(([a-zA-Z0-9-] )/?)?)?$ gallery.php?groupId=$3**amp;showpage=$6** [NC,QSA]
Мне нужно правило для обработки
gallery
gallery/
gallery/somegroupid
gallery/somegroupid/
gallery/somegroupid/2
gallery/somegroupid/2/
Я ценю ваш вклад.
Спасибо.
Ответ №1:
Все в руде правило:
RewriteRule ^gallery(/((([a-zA-Z0-9-] )(/(d ))?)/?)?)?$ gallery.php?groupId=$4amp;showpage=$6 [NC,QSA]
Комментарии:
1. это работает, но выдает значение 404, если я укажу страницу показа. он отлично работает для /gallery/pagegroup, но если я укажу страницу показа, такую как /gallery/pagegroup/2, я получу 404, есть идеи.
2. что происходит, когда вы помещаете <начало ваших URL-адресов здесь>/gallery.php?groupid=pagegroupamp;showpage=2 прямо в вашем браузере?
3. он работает нормально и, как и ожидалось, и показывает страницу 2, в которой группируются фотографии. только что проверил это в эту минуту. спасибо за эту помощь, я ценю ее.
4. Миллион благодарностей за это. Я понял проблему. Я поместил правило ниже условия перезаписи для общего правила в моем htaccess, и это было неправильно. это сработало, еще раз спасибо.
Ответ №2:
Попробуйте это, у меня практически та же конфигурация, что и у вас на одном из моих сайтов.
RewriteRule ^gallery/?([a-zA-Z0-9-] )/([0-9] )/?$ gallery.php?groupId=$1amp;showpage=$2 [NC,QSA,L]
RewriteRule ^gallery/?([a-zA-Z0-9-] )/?$ gallery.php?groupId=$1 [NC,QSA,L]