У мене встановлено програму кодування, де всі URL-адреси перенаправляють на index.php, як нижче.
Мені потрібно /api/index.php, щоб перейти до / api, але НЕ через переспрямування.
Мій код нижче відповідає api / index.php, але він все ще не працює.
/index.php/api працює чудово і переходить до правильної URL-адреси, однак /api/index.php просто переходить на сторінку помилки 404 ... Будь-які пропозиції? Я дурний?
RewriteEngine on
RewriteBase /
RewriteRule ^api/index.php$ /index.php/api [L]
RewriteCond $1 !^(index.php|images|robots.txt|assets)
RewriteRule ^(.*)$ /index.php/$1 [L]
Відповіді:
0 для відповіді № 1Можливо, тому, що він шукає файл з іменем /api/index.php
Додайте ці умови перезапису
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
//Your rewrite rule here
0 для відповіді № 2
Спробуйте це:
RewriteEngine on
RewriteCond $1 !^(index.php|img|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]