अपाचे के लिए:
'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
आप हर्मन टिप्पणी के HTTP_HOST
बजाय भी उपयोग कर सकते हैं SERVER_NAME
। पूरी चर्चा के लिए इससे संबंधित प्रश्न देखें । संक्षेप में, आप शायद या तो उपयोग करने के साथ ठीक हैं। यहाँ 'होस्ट' संस्करण है:
'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
पैरानॉयड के लिए / यह क्यों मायने रखता है
आमतौर पर, मैं सेट ServerName
में VirtualHost
क्योंकि मैं चाहता हूँ कि होने के लिए विहित वेबसाइट के प्रपत्र। $_SERVER['HTTP_HOST']
अनुरोध हेडर के आधार पर स्थापित किया जाएगा। यदि सर्वर उस आईपी पते पर किसी भी / सभी डोमेन नामों का जवाब देता है, तो उपयोगकर्ता हेडर को खराब कर सकता है, या इससे भी बदतर, कोई आपके आईपी पते पर DNS रिकॉर्ड को इंगित कर सकता है, और फिर आपका सर्वर / वेबसाइट डायनामिक के साथ एक वेबसाइट की सेवा करेगा। लिंक एक गलत URL पर बनाया गया है। यदि आप बाद वाली पद्धति का उपयोग करते हैं तो आपको अपने डोमेन को लागू करने के लिए vhost
एक .htaccess
नियम को भी कॉन्फ़िगर करना चाहिए या उस नियम को स्थापित करना चाहिए जिसे आप कुछ करना चाहते हैं:
RewriteEngine On
RewriteCond %{HTTP_HOST} !(^stackoverflow.com*)$
RewriteRule (.*) https://stackoverflow.com/$1 [R=301,L]
#sometimes u may need to omit this slash ^ depending on your server
उम्मीद है की वो मदद करदे। इस उत्तर का असली बिंदु केवल उन लोगों के लिए कोड की पहली पंक्ति प्रदान करना था, जो अपाचे के साथ पूरा URL प्राप्त करने का तरीका खोजते समय यहां समाप्त हो गए :)