mod_rewrite सक्षम है, लेकिन काम नहीं कर रहा है


17

मैं एक PHP रूटिंग लाइब्रेरी स्थापित करने की कोशिश कर रहा हूं। वे एक .htaccess फ़ाइल के लिए यह उदाहरण देते हैं:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

मुझे यह काम करने के लिए नहीं मिला, इसलिए मैंने mod_rewrite को सक्षम करने की कोशिश की, लेकिन यह कहता है "मॉड्यूल पहले से ही सक्षम है"।

यह ठीक से काम क्यों नहीं कर रहा है? धन्यवाद! मैं Ubuntu Precise 12.04, और Apache2.2.22 चला रहा हूं। (किसी भी अद्यतन के लिए जाँच की गई)

संपादित करें: एक जोड़ी अधिक विवरण, यह एक पुहेपेट योनि निर्माण है, फिर से लिखना सक्षम होना चाहिए।

जवाबों:


34

आपको ओवरराइट करने की अनुमति देने की आवश्यकता है।

<Directory "/path/to/document/root/">
  AllowOverride All
  Allow from All
</Directory>

5
यह अनावश्यक रूप से अनुमत है। केवल AllowOverrideप्रश्न में कॉन्फ़िगरेशन के लिए आवश्यक है। Allow from Allसवाल से कोई लेना देना नहीं है और @ randomdev के पर्यावरण के लिए उपयुक्त नहीं हो सकता है।
मार्क

1
<Directory "/path/to/document/root/">मैं /path/to/document/root/अपने प्रोजेक्ट रूट में बदलना भूल गया था। धन्यवाद!
अभिषेक

16

सबसे पहले, अपने httpd कॉन्फ़िगरेशन को इस पर सेट करें (पथ एक दूसरे के साथ भिन्न हो सकता है। मेरे ubuntu में इसे / etc / apache2 / sites-available / default) में रखा गया है:

DocumentRoot /var/www

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all
</Directory>

उसके बाद, आपको इस कमांड से mod_rewrite को सक्षम करना चाहिए :

sudo a2enmod rewrite

पिछले एक, अपनी अपाचे सेवा को पुनः आरंभ करें :

sudo service apache2 restart

यह सुनिश्चित करने के लिए, आप इसे फिर से कॉन्फ़िगरेशन> apache2handler> लोड किए गए मॉड्यूल में phpinfo से देख सकते हैं कि इसे लिखा जाना चाहिए और इसका मतलब है कि mod_rewrite सक्षम है।mod_rewrite


यह एक आभासी मेजबान तत्व में होना चाहिए?
jjxtra

आप में से कुछ उदाहरण देख सकते हैं अपाचे वर्चुअल होस्ट उदाहरण
Metamorph

1

मुझे भी ऐसी ही समस्या थी, लेकिन दूसरे जवाबों ने मेरी मदद नहीं की। .htaccessमेरी समस्या को हल करने की भीख माँगने पर यह पंक्ति :

Options +FollowSymLinks -MultiViews
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.