Я использую php 7 на aws для запуска моего php приложения, у него есть приличный трафик c. Однако в конце дня я проверяю свои apache журналы на наличие ошибок / активности. Я нахожу одну обычную вещь ежедневно с 10-15 строками с одной и той же ошибкой
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Однако я не могу получить эту ошибку, почему она возникает, каким-то образом я узнал что это происходит из-за перенаправления / некоторых правил в .htaccess. Я не могу понять, где ошибка logi c, потому что она не выдает никакой ошибки на локальном хосте или ошибок при запуске любого скрипта.
Ниже приведен мой код .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
# for subdomain like test.example.com to redirect to https://test.example.com
#RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
#RewriteCond %{HTTPS} off
#RewriteCond %{HTTP_HOST} ^([\.\w\-]*)\.(com|in)$ [NC]
#RewriteRule ^ https://%1.%2%{REQUEST_URI} [R=301,L,NE]
# We are setting here the default file to load while the URL is called followed by fallback files
DirectoryIndex index.php
# Redirect all requests except only POST
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.(?:php?)[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
# Adds a trailing directory if rewritten URI is a direcory
RewriteCond %{DOCUMENT_ROOT}/app/$1 -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L]
# Over here we have set the default root directory now request will be directly made from this directory
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteCond %{REQUEST_URI} !/app/ [NC]
RewriteRule (.*) /app/$1 [L]
# over here we're removing .php extensions
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
# code to make pretty URLS | we're using this code to achieve /category/slug
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.+)/([\w-]+)/([\d]+)$ app/post.php?&category=$2&page=$3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.+)/([\w-]+)/([\w-]+)$ app/post.php?&category=$2&slug=$3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.+)/([\d]+)$ app/index.php?page=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.+)/([\w-]+)$ app/post.php?category=$2 [L]
# we have set here custom error files to handle server errors
ErrorDocument 404 /app/error_pages/404.php
ErrorDocument 403 /app/error_pages/403.php
ErrorDocument 500 /app/error_pages/500.php
# We are setting here default charset & language headers setting for our website
AddDefaultCharset UTF-8
DefaultLanguage en-US
</IfModule>
# --------------------------------------------------- Caching Rules Section ---------------------------------------------------
<IfModule mod_headers.c>
<filesMatch "\.(woff|otf|eot|opentype|ttf|woff2)$">
#for a year
Header set Cache-Control "max-age=31556952, public, must-revalidate"
</filesMatch>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
#for a month
Header set Cache-Control "max-age=2629746, public, must-revalidate"
</filesMatch>
<filesMatch "\.(css|scss|min|min.css)$">
#for a week
Header set Cache-Control "max-age=604800, public, must-revalidate"
</filesMatch>
<filesMatch "\.(js|min|min.js)$">
#for 3 days
Header set Cache-Control "max-age=259200, private, must-revalidate"
</filesMatch>
#<filesMatch "\.(x?html?|xml)$">
# Header set Cache-Control "private, must-revalidate"
#</filesMatch>
</IfModule>
# --------------------------------------------------- Caching Rules Section ---------------------------------------------------
Allow from all
# Disable directory browsing
Options All -Indexes