.htaccess: रिवाइटइंजिन यहां अनुमति नहीं है




mod-rewrite apache (6)

मैंने सर्वर पर .htaccess अपलोड किया और एक त्रुटि 500 ​​(आंतरिक सर्वर त्रुटि) प्राप्त किया

और त्रुटि लॉग में मुझे निम्न त्रुटि थी:

... / htaccess: रिवाइटइंजिन यहां अनुमति नहीं है

लेकिन mod_rewrite.so सक्षम है।

तो, क्या मुझे बदलने की ज़रूरत है

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

सेवा मेरे

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

/etc/httpd/conf/httpd.conf फ़ाइल में?

और क्या ये कुछ और हो सकता है? .htaccess फ़ाइल ठीक होनी चाहिए, क्योंकि यह मेरे लोकहोस्ट पर पूरी तरह से ठीक काम करता है। मैं बस कुछ भी पेंच नहीं करना चाहता।

मेरी .htaccess फ़ाइल का हिस्सा यहां दिया गया है:

Options All -Indexes

Options +FollowSymLinks

RewriteEngine On

आप अपनी .htaccess फ़ाइल में ऐसा कुछ उपयोग कर सकते हैं:

RewriteEngine on
RewriteCond $1 !^(index\.php|html|test)
RewriteRule ^(.*)$ /index.php/$1 [L]

इस कोड का मतलब बस है, कि index.php या html या test को इंगित करने वाला कुछ भी index.php पर निर्देशित नहीं होना चाहिए!

उम्मीद है कि यह सहायक है!


सिर्फ एक विचार, यह मेरे साथ हुआ, और मैंने इसे हल करने की कोशिश में बहुत समय खो दिया है।

यदि आपके पास निर्देशिका है जैसे d:/web/my-sites/some-site/

और आप। .htaccess को d:/web/my-sites/some-site/.htaccess पर d:/web/my-sites/some-site/.htaccess (जहां यह होना चाहिए)।

यदि आपके पास इस निर्देशिका से पहले कोई .htaccess फ़ाइलें हैं, तो अपाचे उस फ़ाइलों को पढ़ता है, और आंतरिक पथ त्रुटि उत्पन्न करने वाले पूरे पथ के निष्पादन को अवरुद्ध करता है।

आईई: आपके पास d:/web/my-sites/.htaccess


आइए मान लें कि आपका DOCUMENT_ROOT /home/foo/web तो इस कॉन्फ़िगर को अपनी httpd.conf फ़ाइल में रखें:

<Directory "/home/foo/web">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

इसे RewriteEngine is not allowed ख्याल रखना चाहिए जो आपको प्राप्त होने वाली त्रुटि RewriteEngine is not allowed


Httpd संस्करण 2.4 (2.4.3 और 2.4.4) में, /etc/httpd/conf.d/wordpress.conf पर एक नज़र डालें: इसके लिए एक प्रविष्टि है: ....

बदलें: "ऑर्डर ओवरराइड विकल्प" को "सभी को ओवरराइड करने दें"

wordd.conf में भी httpd.conf बदलने के अलावा। परिवर्तन प्रभावी होने से पहले http सर्वर को पुनरारंभ करें।


काम करने के लिए आपके .htaccess के लिए न्यूनतम विन्यास:

AllowOverride FileInfo Options

सभी विन्यासों को भी काम करने की इजाजत दी जाएगी:

AllowOverride All

/etc/apache2/users/username.conf अंतर्गत मैक पर username.conf फ़ाइल को बदलने का प्रयास करें

<Directory "/Users/akyoo/Sites/">
   AllowOverride All
   Options Indexes MultiViews FollowSymLinks
   Require all granted
</Directory>

मेरी .htaccess फ़ाइल इस तरह दिखती है

#Allow from all
Options +FollowSymLinks
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

यह मेरे लिए ठीक काम करता है। उबंटू उपयोगकर्ताओं के लिए समाधान