alibek Posted September 24, 2025 Posted September 24, 2025 Есть ли где-нибудь в интернете онлайн-сервис для формирования правил 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. Что тут не так? Вставить ник Quote
yandrey Posted September 24, 2025 Posted September 24, 2025 RewriteRule это прошлый век, все эти правила пригодны и требуются только для виртуальных хостингов с полуторами посетителей ) Вставить ник Quote
alibek Posted September 24, 2025 Author Posted September 24, 2025 Они вообще не для посетителей нужны, а для вспомогательных скриптов. Вставить ник Quote
ixi Posted September 25, 2025 Posted September 25, 2025 Давно не пользуюсь апачем, но вроде так # RewriteCond %{REQUEST_URI} ^/api/ RewriteRule ^api/(.*)$ tmsapi.php?$1 [L] Вставить ник Quote
alibek Posted September 25, 2025 Author Posted September 25, 2025 Вроде бы ведущий слеш являются частью URI. О, сработало. Когда закомментировал RewriteCond и убрал ведущий слеш. Спасибо. Но хотелось бы все же найти онлайн-тул на всякий случай. Вставить ник Quote
[anp/hsw] Posted October 2, 2025 Posted October 2, 2025 В 25.09.2025 в 16:02, alibek сказал: Но хотелось бы все же найти онлайн-тул на всякий случай. https://regex101.com/ Самый понятный из всех, которые видел. Вставить ник Quote
alibek Posted October 2, 2025 Author Posted October 2, 2025 Тут дело не в знании синтаксиса RE. Тут нужно знать особенности именно модуля rewrite. Например, что в RewriteCond строка идет с ведущим слешем, а в RewriteRule без него. Вставить ник Quote
sirmax Posted October 2, 2025 Posted October 2, 2025 4 часа назад, alibek сказал: Тут дело не в знании синтаксиса RE. Тут нужно знать особенности именно модуля rewrite. Например, что в RewriteCond строка идет с ведущим слешем, а в RewriteRule без него. Вы точно хотите возиться с этим инапланетным синтаксисом, может проще nginx? Вставить ник Quote
disappointed Posted October 8, 2025 Posted October 8, 2025 @alibek Такое прекрасно gpt разбирает и поправляет с подробным объяснением, попробуй. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.