mod rewrite - Using .htaccess to change what URL is being displayed, but without actually redirecting the content? -


मेरे पास बदलने के लिए एक पुनर्लेखन नियम है

http://kn3rdmeister.com/blog /post.php?y=2012&m=07&d=04&id=4

में

http://kn3rdmeister.com/ ब्लॉग / 2012/07/04 / 4.php

लेकिन वह वास्तव में रीडायरेक्ट करता है जहां ब्राउजर को पृष्ठ से मिलता है मैं अभी भी प्रदर्शित करना चाहता हूं

/blog/post.php?y=xxxx&m=xx&d=xx&id=xx

लेकिन है ब्राउज़र, सरल यूआरएल जैसे

/blog/post/year/month/day/id.php

मैंने प्रॉक्सीपस का इस्तेमाल करने के बारे में कुछ पढ़ा है, लेकिन मुझे काफी नहीं पता है कि मैं क्या कर रहा हूं: पी

मैं चाहता हूं कि लोगों को क्वेरी स्ट्रिंग के साथ या तो post.php यूआरएल पर जाने में सक्षम होना चाहिए, या इसके लिए फॅन्नी श्मन्सी सबडिरेरीज़ के साथ साफ यूआरएल तारीखें और उसी सामग्री को प्राप्त करें ??? सभी अंत में साफ यूआरएल प्रदर्शित करते हुए।

आप ऐसा कुछ चाहते हैं: < पूर्व> # पहले अगर कोई वास्तव में /blog/post.php यूआरएल का अनुरोध करता है, तो उन्हें पुनर्लेखन कन्वर्ट% {THE_REQUEST} ^ (GET | POST | HEAD) \ /blog/post\.php\?y=([00 -9] {4}) & amp; एम = ([0- 9] {2}) & amp; d = ([0-9] {2}) और आईडी = ([0- 9] *) \ HTTP / RewriteRule ^ ब्लॉग / पोस्ट \ .php $ /blog/%2/%3/%4/%5.php [R = 301, L]

यह ब्राउज़र को रीडायरेक्ट करेगा / ब्लॉग / ## / ## / ## / ##। Php यूआरआई, जो कि उनके पता बार में दिखाई देंगे। एक बार वे पुनः निर्देशित हो जाने के बाद, ब्राउज़र फिर / blog / ## / ## / ## / ##। Php के लिए एक अनुरोध भेज देगा और आपके सर्वर को फिर से आंतरिक रूप से फिर से लिखना यह वापस :

  # हमें बहुत ही यूआरएल मिल गए हैं, लेकिन फिर से पीएचपी अनुरोध को पुनः लिखना जरूरी है RewriteRule ^ ब्लॉग / ([0- 9] {4}) /([0- 9] {2}} /( ​​[0-9] {2}} /([^..++).php$ /blog/post.php?y=$1&m=$2 & Amp; d = $ 3 & amp; id = $ 4 [L]   

यह सब कुछ आंतरिक रूप से बदल देता है ताकि फ़ाइल /blog/post.php अनुरोध को संभाल सके।

Comments