2011-01-14 7 views
40

मुझे अपनी सभी .html फ़ाइलों को .php फ़ाइलों के रूप में चलाने की आवश्यकता है और मेरे पास कल हमारी प्रस्तुति से पहले सभी लिंक बदलने का समय नहीं है। क्या मेरे अपाचे सर्वर के साथ "हैक" करने का कोई तरीका है?.htaccess का उपयोग सभी .html पृष्ठों को .php फ़ाइलों के रूप में चलाने के लिए करते हैं?

+2

हालांकि यह आपके प्रश्न का सीधा जवाब नहीं है, लेकिन 'sed' या किसी भी अच्छे आईडीई का उपयोग करके आप एक संपूर्ण निर्देशिका/प्रोजेक्ट में ढूंढ और प्रतिस्थापित कर सकते हैं। साथ ही, आप लिनक्स पर फाइलों को आसानी से नाम बदल सकते हैं। – coreyward

+0

हाँ, लेकिन अगर आप sed का उपयोग कर फ़ाइलों का नाम बदलते हैं, तो आपको कई टूटी हुई लिंक मिल सकती हैं। बेशक, आप अपनी वेबसाइट में सभी लिंक बदलने की भी कोशिश कर सकते हैं, लेकिन इंटरनेट पर भी ऐसे लिंक हैं जो आपकी वेबसाइट पर इंगित कर सकते हैं। –

उत्तर

56

पर

AddType application/x-httpd-php .php .htm .html 

अधिक जानकारी अपनी .htaccess में रखते इस लाइन अपनी वेबसाइट की जड़ में एक .htaccess फ़ाइल बनाएं और जोड़ें:

[Apache2 @ उबंटू/डेबियन: इस निर्देश का उपयोग करें]

AddType application/x-httpd-php .html .htm 

या, से नीचे टिप्पणी:

AddType application/x-httpd-php5 .html .htm 

अपने CGI के रूप में पीएचपी (शायद नहीं मामले) चला रहे हैं, आप के बजाय लिखना चाहिए:

AddHandler application/x-httpd-php .html .htm 
+8

मुझे इसे काम करने के लिए प्रकार के अंत में '5' जोड़ना था, यानी।'AddType एप्लिकेशन/x-httpd-php5 .html .htm' (CentOS PHP 5.3 चल रहा है) – melat0nin

+13

यह मेरे लिए काम नहीं करता है। यह फ़ायरफ़ॉक्स को HTML फ़ाइल डाउनलोड करना और इसे प्रदर्शित करना चाहता है। –

+1

@ लीबलेक मुझे एक ही समस्या है। इसके साथ कोई भाग्य? –

2

यहाँ इस page

+0

निकालें हैंडलर क्यों? –

+0

अच्छी तरह से, मेरे कोड को फिर से जांचें। – andrewk

+0

ठीक है .. निकालें हैंडलर आवश्यक नहीं हो सकता – andrewk

5

किसी के लिए वहाँ से बाहर अभी भी समस्या आ,

इस कोशिश (मेरी होस्टिंग Godaddy से थी और यह एकमात्र चीज है जो मेरे लिए सभी उत्तरों के बीच काम करती है।

AddHandler x-httpd-php5-cgi .html 
8

मेरे Godaddy सर्वर में निम्नलिखित कोड काम किया

Options +ExecCGI 
AddType application/x-httpd-php .php .html 
AddHandler x-httpd-php5 .php .html 
+6

मुझे लगता है कि "गोडाडी" का उल्लेख करने से आपको अपना पहला स्थान मिल जाता है। – Pacerier

3

मुझे लगता है कि यह एचटीएमएल और htm पृष्ठों पर php स्क्रिप्ट चलाने के लिए सबसे अच्छा तरीका है:

AddType application/x-httpd-php5 .html .htm 
3

आम तौर पर आप जोड़ना चाहिए :

Options +ExecCGI 
AddType application/x-httpd-php .php .html 
AddHandler x-httpd-php5 .php .html 

Howeve GoDaddy के लिए आर होस्टिंग साझा (php-cgi), आप भी इन लाइनों को जोड़ने की आवश्यकता:

AddHandler fcgid-script .html 
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html 

स्रोत: Parse HTML As PHP Using HTACCESS File On Godaddy

+0

यह मेजबान साझा करने के साथ भी होस्ट किया गया। धन्यवाद। –

+0

मैं गोडाडी का उपयोग कर रहा हूं और यही वह अकेला है जो मेरे लिए काम करता है। अन्य लोग इसे प्रदर्शित किए बिना HTML पृष्ठ को काम या डाउनलोड नहीं करते हैं! – lKashef

1

@ मार्क-फ़्राँस्वा दृष्टिकोण फ़ायरफ़ॉक्स का उपयोग करते हुए मुझे html फ़ाइल

अंत में डाउनलोड करने का संकेत निम्नलिखित मेरे लिए काम कर रहा है (दोनों का प्रयोग करके):

AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html

2

तुम भी H का उपयोग करें या हो सकता है सभी को मजबूर करने के लिए mod_rewrite का टी ध्वज।html फ़ाइलें php हैंडलर से पार्स किया जा सकता:

एच का उपयोग कर (हैंडलर) झंडा:

RewriteEngine on 

RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5] 

का उपयोग कर टी (प्रकार) झंडा:

RewriteEngine on 

RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5] 

या आप शासन के लिए और अधिक एक्सटेंशन जोड़ सकते हैं एक पाइप द्वारा पृथक्करण पैटर्न .txt

RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5] 

उपरोक्त उदाहरण फ़ाइलों को .html के साथ समाप्त की माइम प्रकार बदल जाएगा, .htm, : कि आप चाहते हैं php हैंडलर से पार्स किया जा सकता

पूर्व , .foo php से।

नोट:

बदलें यह

[T=application/x-httpd-php5] 

[T=application/x-httpd-php] 
करने के लिए: कुछ सर्वर पर आप php को हैंडलर स्ट्रिंग में काम करने के लिए इस उदाहरण पाने के लिए PHP5 बदलने के लिए होगा
5

आपको अपनी अपाचे कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्ति जोड़ने की आवश्यकता है:

AddType application/x-httpd-php .htm .html 

तुम भी दो अन्य चीजों की आवश्यकता:

  1. Overridding

    अनुमति दें your_site.conf फ़ाइल में (जैसे मेरे मामले में /etc/apache2/mods-available) के तहत, निम्न पंक्तियां जोड़ें:

    <Directory "<path_to_your_html_dir(in my case: /var/www/html)>"> 
        AllowOverride All 
    </Directory> 
    
  2. मॉड पुनर्लेखन सक्षम आपकी मशीन पर

    भागो इस आदेश:

    sudo a2enmod rewrite 
    

    उन कदमों में से किसी के बाद, आप पुनः आरंभ करना चाहिए अपाचे:

    sudo service apache2 restart 
    
-1
AddHandler application/x-httpd-php .php .html .htm 
// or 
AddType application/x-httpd-php .php .htm .html 
+1

कृपया यह संपादित करने के लिए [संपादित करें] लिंक का उपयोग करें कि यह कोड कैसे काम करता है और केवल कोड न दें, क्योंकि स्पष्टीकरण भविष्य के पाठकों की सहायता करने की अधिक संभावना है। यह भी देखें [उत्तर]। [स्रोत] (http://stackoverflow.com/users/5244995) –

संबंधित मुद्दे