Первая часть моего кода работает и перенаправляет / переписывает на new/file
.Проблема возникает, когда я пытаюсь передать переменные.Все они перенаправляются на new/file
Какую бы переменную я ни пытался передать, file.php?foo=bar
перенаправляет на new/file
вместо new/file/bar
.
например:
- new / файл перезаписывается в file.php
- new / file / 2 переписывается в file.php? Page = 2
- file.php перенаправляет на новый / file
- file.php? Page = 2 не перенаправляет на новый / file / 2, а вместо этого переписывается на новый / file
Мой код:
RewriteBase /domain.com
#regular
RewriteCond %{QUERY_STRING} !redirect=no
RewriteRule ^file\.php$ new/file? [NS,R=301,L]
RewriteRule ^new/file?$ file.php?redirect=no [NS]
#with variable
RewriteCond %{QUERY_STRING} ^page=([0-9-]+)/?$
RewriteRule ^file\.php$ new/file/%1? [NS,R=301,L]
RewriteRule ^new/file/([0-9-]+)/?$ file.php?page=$1&redirect=no [NS]
Обратите внимание, что я передаю больше, чем просто page
переменных.
Я думаю, может быть флаг QSA должен бытьгде-нибудь?