Jump to content
Калькуляторы

Онлайн-генератор RewriteRule

Есть ли где-нибудь в интернете онлайн-сервис для формирования правил 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

RewriteRule это прошлый век, все эти правила пригодны и требуются только для виртуальных хостингов с полуторами посетителей )

Share this post


Link to post
Share on other sites

Они вообще не для посетителей нужны, а для вспомогательных скриптов.

Share this post


Link to post
Share on other sites

Давно не пользуюсь апачем, но вроде так

 

        # RewriteCond %{REQUEST_URI} ^/api/
        RewriteRule ^api/(.*)$ tmsapi.php?$1 [L]

Share this post


Link to post
Share on other sites

Вроде бы ведущий слеш являются частью URI.

 

О, сработало.

Когда закомментировал RewriteCond и убрал ведущий слеш.

Спасибо.

 

Но хотелось бы все же найти онлайн-тул на всякий случай.

 

Share this post


Link to post
Share on other sites

В 25.09.2025 в 16:02, alibek сказал:

Но хотелось бы все же найти онлайн-тул на всякий случай.

https://regex101.com/

Самый понятный из всех, которые видел.

Share this post


Link to post
Share on other sites

Тут дело не в знании синтаксиса RE.

Тут нужно знать особенности именно модуля rewrite.

Например, что в RewriteCond строка идет с ведущим слешем, а в RewriteRule без него.

Share this post


Link to post
Share on other sites

4 часа назад, alibek сказал:

Тут дело не в знании синтаксиса RE.

Тут нужно знать особенности именно модуля rewrite.

Например, что в RewriteCond строка идет с ведущим слешем, а в RewriteRule без него.

Вы точно хотите возиться с этим инапланетным синтаксисом, может проще nginx? 

 

Share this post


Link to post
Share on other sites

@alibek Такое прекрасно gpt разбирает и поправляет с подробным объяснением, попробуй.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now