Я новичок .htaccess и регулярное выражение. У меня есть скрипт, который работает локально, но когда я загружаю его на живой сервер, он вызывает бесконечный цикл. Как я могу это исправить? На сайте, когда вы загружаете http://example.com если вы не аутентифицированы, вы http:///example.com/index.php http://example.com/auth/ для формы входа в систему, иначе он отображает содержимое http:///example.com/index.php . Он отлично работает локально, но когда я загружаюсь на живой сервер, он не может найти auth.php поэтому он перенаправляется на индексную страницу и, поскольку пользователь не аутентифицирован, он отправляет auth.php таким образом, бесконечный цикл. Пожалуйста помоги. Благодарю.
Это мой файл
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>