У меня проблема. Мне нужно это решить. Итак, вместо того, чтобы писать shop.php? id = 0, я могу написать «магазин / что-то». Это работает хорошо, но если, например, напишите служба поддержки/. Затем я перехожу к php-файлу магазина. Как я могу удалить это, чтобы поддержка также могла быть как поддержка / что-то, а магазин также мог быть магазин / что-то.
Я могу написать служба поддержки, тогда он работает нормально, но когда я хочу сделать поддержка / что-то, он испортится. Просто добавьте "/"
Как я могу исправить эту проблему? (Я сделал комментарии с // в коде, их нет в реальном коде, я удалил их там)
RewriteEngine On
//Do so instead of i write shop.php?id=0 i can do /shop/something
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*\.php$ shop.php [NC,L]
//Remove the .php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
//404
ErrorDocument 404 /404.php






Решено! На самом деле действительно просто! Если в этом случае могут появиться другие:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(shop)/([^/]*)$ /shop.php?loc=$1&q=$2 [L]
RewriteRule ^(support)/([^/]*)$ /support.php?loc=$1&q=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
ErrorDocument 404 /404.php
Форматировал код.