настройка перезаписи htaccess

#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]