मैं Fedora 13 पर एक LAMP सर्वर चला रहा हूं जो ठीक काम कर रहा है; हालाँकि, मैंने अभी-अभी अपनी वर्तमान साइट के डोकरो फ़ोल्डर में ".htaccess" फ़ाइल जोड़ी है जिसे पूरी तरह से अनदेखा किया जा रहा है।
मैंने इस सहित आधा दर्जन विभिन्न परीक्षणों की कोशिश की है:
RewriteEngine on
RewriteBase /
RewriteRule ^.*$ index.php
लेकिन छवियां और अन्य सभी पृष्ठ ठीक लोड होते हैं, और गैर-मौजूद फाइलें अभी भी 404 हैं। मैंने भी यह कोशिश की:
order deny,allow
deny from all
लेकिन हर पेज अभी भी ठीक लोड होता है। फिर से .htaccess फ़ाइल को केवल 100% अनदेखा किया जाता है।
हमने अपना virtualhost रिकॉर्ड /etc/httpd/conf.d/virtual.conf में डाला। यह इस तरह दिख रहा है:
NameVirtualHost *
<VirtualHost *>
ServerName intranet
DocumentRoot /var/www/default
<Directory "/var/www/default">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *>
ServerName ourwebsite.com
DocumentRoot /var/www/html/ourwebsite.com/docroot
<Directory "/var/www/html/ourwebsite.com/docroot">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
और क्या हमारे सर्वर पूरी तरह से .htaccess
फ़ाइल IGNORE के कारण हो सकता है ??
संपादित करें:
मैंने बेहतर प्रदर्शन करने के लिए .htaccess फ़ाइल को ऊपर में बदल दिया है कि मेरे परिवर्तनों को अनदेखा किया जा रहा है। ध्यान दें कि मैंने उत्पादन सर्वर पर ठीक उसी .htaccess फ़ाइल की कोशिश की और यह ठीक काम किया।
2 संपादित करें:
ठीक है, मेरे पास नई जानकारी है! बस परीक्षण के प्रयोजनों के लिए, मैं के माध्यम से चला गया और अस्थायी रूप से हर किसी को "AllowOverride" निर्देश को बदल दिया AllowOverride All
। मुझे लगा कि बहुत पहले निर्देशिका प्रविष्टि सभी दूसरों पर हावी हो रही है:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
जब मैंने उसे बदल दिया AllowOverride All
, मेरी .htaccess फाइलें प्रभावी होने लगीं। यह ऐसा है जैसे AllowOverride All
मेरी कॉन्फिग फाइलों में अन्य सभी निर्देशों को अनदेखा किया जा रहा है!
क्या देता है??