alibek Posted September 24 Есть ли где-нибудь в интернете онлайн-сервис для формирования правил RewriteRule, с отладкой и подсказками? Раз в год приходится добавлять эти правила в конфиг веб-сервера и каждый раз не выходит каменный цветок, потому что из головы напрочь вылетело, как оно должно работать. Есть такая конфигурация: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} \.m3u$ RewriteRule ^(.+)\.m3u$ playlist.php?$1 [L] RewriteCond %{REQUEST_URI} ^/api/ RewriteRule ^/api/(.*)$ tmsapi.php?$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] В идеале должно быть так: обращения к плейлистам должны передаваться в скрипт playlist.php, обращения к /api/* должны передаваться в скрипт tmsapi.php, все остальное должно передаваться в скрипт index.php. Но почему-то обращения /api/* передаются в index.php. Что тут не так? Share this post Link to post Share on other sites More sharing options...
yandrey Posted September 24 RewriteRule это прошлый век, все эти правила пригодны и требуются только для виртуальных хостингов с полуторами посетителей ) Share this post Link to post Share on other sites More sharing options...
alibek Posted September 24 Они вообще не для посетителей нужны, а для вспомогательных скриптов. Share this post Link to post Share on other sites More sharing options...
ixi Posted September 25 Давно не пользуюсь апачем, но вроде так # RewriteCond %{REQUEST_URI} ^/api/ RewriteRule ^api/(.*)$ tmsapi.php?$1 [L] Share this post Link to post Share on other sites More sharing options...
alibek Posted September 25 Вроде бы ведущий слеш являются частью URI. О, сработало. Когда закомментировал RewriteCond и убрал ведущий слеш. Спасибо. Но хотелось бы все же найти онлайн-тул на всякий случай. Share this post Link to post Share on other sites More sharing options...
[anp/hsw] Posted October 2 В 25.09.2025 в 16:02, alibek сказал: Но хотелось бы все же найти онлайн-тул на всякий случай. https://regex101.com/ Самый понятный из всех, которые видел. Share this post Link to post Share on other sites More sharing options...
alibek Posted October 2 Тут дело не в знании синтаксиса RE. Тут нужно знать особенности именно модуля rewrite. Например, что в RewriteCond строка идет с ведущим слешем, а в RewriteRule без него. Share this post Link to post Share on other sites More sharing options...
sirmax Posted October 2 4 часа назад, alibek сказал: Тут дело не в знании синтаксиса RE. Тут нужно знать особенности именно модуля rewrite. Например, что в RewriteCond строка идет с ведущим слешем, а в RewriteRule без него. Вы точно хотите возиться с этим инапланетным синтаксисом, может проще nginx? Share this post Link to post Share on other sites More sharing options...
disappointed Posted October 8 @alibek Такое прекрасно gpt разбирает и поправляет с подробным объяснением, попробуй. Share this post Link to post Share on other sites More sharing options...