Я новичок .htaccess и regex. У меня есть скрипт, который работает локально, но когда я загружаю его на живой сервер, он вызывает бесконечный цикл. Как я могу это исправить? На сайте, когда вы загружаете http://example.com
, если вы не прошли проверку, он принимает вас в http://example.com/auth/
для формы входа, иначе он отображает содержимое http:///example.com/index.php
. Он работает нормально локально, но когда я загружаюсь на живой сервер, он не может найти auth.php
, поэтому он перенаправляется на индексную страницу и, поскольку пользователь не аутентифицирован, он отправляет auth.php
, таким образом, бесконечный цикл. Пожалуйста помоги. Благодарю..htaccess вызывает бесконечный цикл на живом сервере, но работает на localhost
Это мой файл
Options -Indexes
Options -MultiViews
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
# remove php extensions (only for GET method)
RewriteCond %{THE_REQUEST} ^GET\ /(.+)\.php(?:\?|\s) [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule^%1/? [L,R=301]
# don't touch other existing files/folders
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
# force trailing slash
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^(.+)$ $1/ [L,R=301]
# rewrite extensionless php files
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+)/$ $1.php [L]
#rewrite path to file eg http://example.com/auth/recover to http://example.com/auth.php?a=recover
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/([^/]+)/?$ $1.php?a=$2 [QSA,L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ $1.php?a=$2&id=$3 [QSA,L]
# finally, if not found
RewriteRule^index.php [L]
</IfModule>
Отсутствие комментариев ??? В самом деле??? Спасибо alot – sammyukavi