htaccess-файл:
RewriteEngine On
RewriteBase /
# Редирект с http на https создан автоматически при заказе бесплатного ssl-сертификата
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
# Конец редиректа
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^channel/([^/]+)/edit edit/card.php?id=$1 [L,QSA]
RewriteRule ^channel/([^/]+)/ channel.php?id=$1 [L,QSA]
ErrorDocument 404 /errors/404.php
С этим кодом открывается страница /channel/53089/, однако так же открывается и /channel/53089/jhkjhj/, и /channel/53089/jhkjhj/sdfkjshfdkjshfd/. То есть конец строки вообще не имеет значения
Заменяю код
RewriteEngine On
RewriteBase /
# Редирект с http на https создан автоматически при заказе бесплатного ssl-сертификата
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
# Конец редиректа
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^channel/([^/]+)/edit edit/card.php?id=$1 [L,QSA]
RewriteRule ^channel/([^/]+)/$ channel.php?id=$1 [L,QSA]
ErrorDocument 404 /errors/404.php
То есть добавляю $ только RewriteRule ^channel/([^/]+)/
$ channel.php?id=$1 [L,QSA]
И всё перестаёт работать не открывается ни страница /channel/53089/, ни /channel/53089/jhkjhj/sdfkjshfdkjshfd/.
Почему перестаёт работать /channel/53089/?