/ / Перезапис URL-адрес у проблемі htaccess - .htaccess, mod-rewrite, url-переписування

URL-адреса перезаписати в htaccess-проблема - .htaccess, мод-перезапису, URL-перезапису

Я досить новий у цьому світі переадресацій htaccess. Я намагаюся змусити всі переадресації в моєму Zend MVC до моїх https, але я отримую запитувана URL-адреса не знайдено помилки у запитах, які не йдуть через контролер індексу

Приклад

https://www.example.com/auth/register

дає a запитувана URL / auth / register не знайдено помилки. Однак якщо я видаляю правило перенаправлення https, воно прекрасно працює над http. Якщо я налаштую URL-адресу

https://www.example.com/index.php/auth/register

це чудово працює. URL-адреса

https://www.example.com/index/faq

працює просто чудово, оскільки проходить через контролер індексу.

Мій файл .htaccess виглядає приблизно так

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Що потрібно змінити, щоб отримати URL-адресу

https://www.example.com/auth/register

працює?

Відповіді:

0 для відповіді № 1

Ваш код звучить як "Якщо це відповідає файлу, посиланню чи каталогу, тоді нічого не робіть і продовжуйте." Вам потрібно пропустити остаточне правило перезапису у випадку, якщо файл насправді існує:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=1,NC,L]
RewriteRule ^.*$ index.php [NC,L]