मैं अपने PHP एप्लिकेशन को चलाने के लिए एडब्ल्यूएस पर PHP 7 का उपयोग कर रहा हूं, इसमें कुछ अच्छा ट्रैफिक है। हालांकि दिन के अंत में मैं त्रुटियों/गतिविधि के लिए अपने अपाचे लॉग की जांच करता हूं। मुझे एक ही त्रुटि के साथ 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 में रीडायरेक्ट / कुछ नियमों के कारण होता है। मैं तर्क विफलता कहां प्राप्त करने में सक्षम नहीं हूं क्योंकि यह किसी भी स्क्रिप्ट को चलाने के दौरान स्थानीयहोस्ट या त्रुटियों पर कोई त्रुटि नहीं देता है।

नीचे मेरा .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
-1
PHP Developer 28 अप्रैल 2020, 17:18
LimitInternalRecursion 20 को httpd.conf या .htaccess में जोड़ें
 – 
Chi.C.J.Rajeeva Lochana
29 अप्रैल 2020, 10:09
लेकिन यह त्रुटि क्यों हो रही है? कोई विचार?
 – 
PHP Developer
29 अप्रैल 2020, 13:41
क्या मेरा समाधान काम किया? ऐसा इसलिए है क्योंकि पुनर्लेखन नियमों की संख्या बहुत अधिक है।
 – 
Chi.C.J.Rajeeva Lochana
29 अप्रैल 2020, 20:31
मैंने LimitInternalRecursion 20 जोड़ने का प्रयास किया, लेकिन यह 500 के साथ समाप्त हुआ, कृपया मुझे बताएं कि मुझे यह नियम कहां जोड़ना चाहिए, मैंने इसे फ़ाइल के अंत में जोड़ा था
 – 
PHP Developer
30 अप्रैल 2020, 11:34
इसे httpd.conf में जोड़ें
 – 
Chi.C.J.Rajeeva Lochana
30 अप्रैल 2020, 19:29

2 जवाब

स्पष्ट रूप से LimitInternalRecursion 20 को httpd.conf में जोड़ें

0
Chi.C.J.Rajeeva Lochana 30 अप्रैल 2020, 19:29

समस्या यह है कि आपके रीडायरेक्ट नियम अनंत लूप का कारण बनते हैं। एक LimitInternalRecursion क्लॉज जोड़ना केवल समस्या को छुपाएगा।

सबसे पहले आपको यह निर्धारित करना होगा कि इस समस्या के लिए कौन सा अनुरोध जिम्मेदार है: त्रुटि लॉग में पाए गए समय की तुलना में रिटर्न कोड 500 के साथ अपनी अपाचे एक्सेस लॉग लाइनों की जांच करें।

दूसरा, आप रीराइट रूल्स लॉगिंग को डिबग करने के लिए सक्रिय कर सकते हैं। देखें: https://httpd.apache.org/docs/2.4/mod/ mod_rewrite.html

0
Matthieu Racine 19 जून 2020, 14:09