Похоже, у вас конфликт с MultiViews
. При включенном MultiViews mod_negotiation выдаст внутренний подзапрос для series.php
(добавив расширение файла к исходному запросу) без строки запроса до того, как mod_rewrite сможет перезаписать URL-адрес с параметрами строки запроса.
Попробуйте отключить MultiViews в верхней части вашего .htaccess
файла:
Options -MultiViews
Вы также должны удалить два условия:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} -f
Они применимо только к первой следующей директиве RewriteRule
. Но они, похоже, не применяются к этим правилам в любом случае?
RewriteRule ^series/([0-9a-zA-Z_-]+) http://my-domain.com/series/$1/1
Это 3-е правило также вызовет внешнее перенаправление 302. Похоже, это должно быть «похоже» на предыдущее правило. Например:
RewriteRule ^series/([0-9a-zA-Z_-]+) series.php?seriesID=$1&season=1 [L]
И вы должны включить флаг L
в каждую из этих директив RewriteRule
, чтобы предотвратить обработку оставшихся директив.