2012-09-25 16 views
27

के लिए मैक ओएस एक्स पर अपाचे 2 के लिए mod_rewrite को स्थापित और कॉन्फ़िगर करें, मैं ज़ेन फ्रेमवर्क 2 के साथ प्रारंभ कर रहा हूं और उनके पास अपाचे के लिए mod_rewrite की स्थापना और कॉन्फ़िगरेशन का prerequisite है। अपाचे 2.2.22 मैक ओएस एक्स 10.8.2 पर पूर्व-स्थापित हुआ था। क्या apache के लिए mod_rewrite को स्थापित और कॉन्फ़िगर करने का कोई आसान तरीका है?ज़ेंड फ्रेमवर्क 2

एकमात्र मदद जो मैंने पार की है, वह अपाचे को फिर से संकलित करने का सुझाव देती है। क्या यह एकमात्र तरीका है?

+0

क्या यह आपके लिए काम नहीं करता है? http://serverfault.com/questions/113853/getting-mod-rewrite-working-on-os-x-now-leopard (पहला जवाब, कीथ नॉर्मन) –

+0

यह काम नहीं किया –

+1

यह प्रश्न प्रोग्रामिंग प्रश्न नहीं है और सर्वरफॉल्ट से संबंधित है। –

उत्तर

111

कि mod_rewrite जाँच करने के लिए और PHP सक्षम हैं, /etc/apache2/httpd.conf को देखो और यह सुनिश्चित करें कि इन पंक्तियों:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so 
LoadModule php5_module  libexec/apache2/libphp5.so 

uncommented हैं।

यह भी सुनिश्चित करें कि AllowOverride पर <Directory "/Library/WebServer/Documents"> अनुभाग में सेट है। sudo apachectl restart

आप तो /Library/WebServer/Documents फ़ोल्डर के भीतर अपनी परियोजना डाल, तो यह काम करना चाहिए:

इन परिवर्तन करने के बाद, साथ अपाचे पुनरारंभ करें।

+3

php5_module को अपूर्ण करने के बाद मेरे लिए काम किया और सुझाव के अनुसार सभी को अनुमति दें। टीएनएक्स बहुत :) – mindore

+5

यॉस्मिथ पर डिफ़ॉल्ट रूप से सक्षम नहीं लगता है ... – Potherca

+2

httpd.conf – Otto

-1

रोब एलन का जवाब लगता है सही है, लेकिन मैंने कभी भी अपने मैक पर अपाचे की डिफ़ॉल्ट स्थापना का उपयोग नहीं किया है, इसलिए मैं सत्यापित नहीं कर सकता। मैं या तो MAMP या Zend Server CE की अनुशंसा करता हूं।

ज़ेंड सर्वर सीई कॉन्फ़िगर करने और मेरे मैक पर सही ढंग से चलने के लिए मुझे थोड़ी देर लग गई, लेकिन यह संस्करण 4 था और यह छोटी थी और किसी भी तरह से यह इसके लायक था। इसके विपरीत, जेडएससीई का संस्करण 5.6 बहुत बेहतर लगता है!

Some notes on Zend Server CE for Mac OS X

आप MAMP के साथ जाना है, यह एक बहुत जल्दी configuring virtual hosts से स्थापित करते हैं, एक तरफ होना चाहिए।

ध्यान दें कि ये दोनों mod_rewrite से पहले से स्थापित हैं।

+0

मुझे लगता है कि 'ज़ेंड सर्वर सीई और मैक ओएस एक्स शेर –

+0

@b_dubb के साथ बहुत भाग्य था, यह सुनकर खेद है। आपको किस तरह की समस्याएं हुई हैं? –

+0

नियंत्रक/कार्रवाई यूरी के साथ समस्याएं नहीं मिल रही हैं। मैंने अपना vhost और htaccess सेट अप किया है। मैं zf.sh उपकरण के साथ एक व्यवस्थापक नियंत्रक जोड़ता हूं और जब मैं अपने प्रोजेक्ट यूरी पर जाता हूं तो zf त्रुटि संदेश प्राप्त करता हूं। जेएफ मेरा/~ उपयोगकर्ता नाम सोचता है ... एक नियंत्रक है। ब्लैग –

11

यदि आप ~/Sites से अपनी साइट की सेवा कर रहे हैं, तो मेरे लिए चाल मेरी /private/etc/apache2/users/USERNAME.conf फ़ाइल को संशोधित कर रही थी। प्रारंभ में, सामग्री था:

<Directory "/Users/USERNAME/Sites/"> 
    Options Indexes MultiViews FollowSymLinks ExecCGI 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 

AllowOverrideall के लिए और फिर एक त्वरित sudo apachectl restart के साथ सर्वर को पुन: प्रारंभ बदलने से मुझे ~/Sites नीचे रहने वाले .htaccess फाइलों में mod_rewrite का उपयोग शुरू करने के लिए।

+0

इस सेटिंग को बदलने के बाद, मुझे 403 वर्जित हो रहा है और त्रुटि यह है: 'विकल्प FollowSymLinks या SymLinksIfOwnerMatch बंद है जिसका अर्थ है कि रिवाइट्रूल निर्देश प्रतिबंधित है:/उपयोगकर्ता/xliang/साइट्स/उड़ान/घटना' कोई विचार? बीटीडब्ल्यू मैं अपनी साइट ~/साइट्स – Xiao

+0

से चला रहा हूं यह उत्तर है: http://stackoverflow.com/a/2487738/672354 – Xiao

1

इसे http-vhosts में जोड़ें।conf फ़ाइल

<Directory "/Library/WebServer/Documents"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

मत भूलना इस commande

sudo apachectl restart 

गुड लक

0

मेरे चुना

<VirtualHost *:80> 
    <Directory /> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride All 
      Order allow,deny 
      Allow from all 
    </Directory> 
    ServerAdmin [email protected] 
    DocumentRoot "/Users/r00we/sites/buytocoins.ru" 
    ServerName site.ru 
    ServerAlias www.site.ru 
    ErrorLog "/private/var/log/apache2/myfaketestsite.com-error_log" 
    CustomLog "/private/var/log/apache2/myfaketestsite.com-access_log" common 
</VirtualHost> 
1

Yosemite ओएस एक्स इस तरह होना चाहिए का उपयोग कर अपने अपाचे फिर से लोड करने:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "/Users/enzo/www/drupal8" 

    ServerName drupal8 

    #ServerAlias www.dummy-host.example.com 
    <Directory /Users/enzo/www/drupal8> 
     Require all granted 
     Options Includes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 

    ErrorLog "/private/var/log/apache2/drupal8-error.log" 
    CustomLog "/private/var/log/apache2/drupal8-access.log" common 
</VirtualHost> 

this blog post

3

से मिल रोब एलेन की प्रतिक्रिया के अलावा, दोनों लाइन नंबर 168 और 169 के आसपास स्थित हैं (आप स्क्रॉल पाठ की 500+ लाइनों से कुछ समय बचाने के लिए)। इसके अलावा, समझाने के लिए क्या प्रत्येक पंक्ति वास्तव में करता है:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

यह किसी भी .htaccess दस्तावेज़ जड़ में इस्तेमाल किया फ़ाइलों के लिए डिफ़ॉल्ट सेटिंग पर वरीयता

LoadModule php5_module  libexec/apache2/libphp5.so 

इस URL के लिए पुनर्लेखन की अनुमति देता है परमालिंक

स्रोत: link