मैंने अपने सर्वर पर एक नई साइट के लिए एक नया वर्चुअल होस्ट सेट किया है, लेकिन यह मेरी मूल साइट के समान सटीक सेटिंग्स होने के बावजूद अजीब तरह से काम कर रहा है।
मैं चाहता हूं कि सभी अनुरोधों को HTTPS पर पुनर्निर्देशित किया जाए, बस रखा जाए। मेरी मुख्य साइट पर (काम करने वाला) मेरे पास यह निर्दिष्ट है VirtualHost
विन्यास, और में .htaccess
मेरे पास एक अतिरिक्त नियम है जो लघु URL की अनुमति देने के लिए निर्दिष्ट है। विशेष रूप से, गैर-कार्यशील साइट पर समस्या यह है कि अगर मैं जाने की कोशिश करता हूं example.com/url
रीडायरेक्ट में जाता है https://example.comurl
और आवश्यक हटा देता है /
URL से।
मैंने नए पर सटीक कॉन्फ़िगरेशन की प्रतिलिपि बनाई है VirtualHost
तथा .htaccess
कार्य स्थल से फ़ाइल इसलिए मुझे यकीन नहीं है कि यह नए पर काम क्यों नहीं करता है। दोनों साइटों के लिए मेरा DNS रिकॉर्ड सभी को इंगित करने के लिए A रिकॉर्ड का उपयोग करता है, DNS स्तर पर कोई पुनर्निर्देश या कुछ भी नहीं होता है। मैंने डालने की कोशिश की है /
के अंत में Redirect
नीचे दिए गए कोड में लाइनें, लेकिन समस्या हल नहीं हुई। सर्वर Ubuntu 14.04 है, और Apache संस्करण 2.4.7 है। दोनों साइटें अलग-अलग डोमेन नाम हैं .conf
फ़ाइलों का उपयोग किया गया है, लेकिन वे समान सर्वर पर समान आईपी पते के साथ होस्ट किए जाते हैं मैं इस समस्या को कैसे ठीक करुं?
में प्रासंगिक कोड VirtualHost
:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com
</VirtualHost>
और में .htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
यदि यह मदद करता है / मामलों में, यह मेरी VirtualHost फ़ाइल में SSL कॉन्फ़िगर है, हालाँकि इसे अन्य सभी निर्देशों के बाहर फ़ाइल की शुरुआत में रखा गया है:
SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdo$
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
और यह विशेष रूप से के लिए विन्यास है VirtualHost
साइट के लिए:
<VirtualHost *:443>
ServerName example.com
ServerAdmin user@example.com
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/errorexample.log
Options -Indexes
SSLEngine on
SSLCertificateFile /etc/ssl/example/examplecert.crt
SSLCertificateKeyFile /etc/ssl/example/examplekey.key
SSLCertificateChainFile /etc/ssl/chain/class1.pem
</VirtualHost>
Redirect permanent / https://example.com/
/
के अंत में Redirect
कमांड, लेकिन इससे समस्या ठीक नहीं हुई।