301 динамическая переадресация работает неправильно
Мне нужно изменить старые динамические URL-адреса на новые, поэтому я создал файл.htaccess, но что-то не так и перенаправить на ERR_TOO_MANY_REDIRECTS
проблема.
Ниже моего файла.htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^movie/(.+)/$ /cat.php?name=$1 [QSA,L]
RewriteCond %{QUERY_STRING} ^name=(.*)$ [NC]
RewriteRule ^cat\.php$ /movie/%1/? [R=301,L]
1 ответ
Решение
Вам нужно проверить исходный URI и перенаправить на красивый URL из этого:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET\ /cat\.php\?name=([^\s&]+) [NC]
RewriteRule ^cat\.php$ /movie/%1/? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^movie/(.+)/$ /cat.php?name=$1 [QSA,L]