सबमिट करते समय त्रुटि का कारण बनता है मैं अपनी साइट पर यूआरएल के लेआउट को कॉन्फ़िगर करने के लिए अपने htaccess-file के साथ काम करता हूं।htaccess rewrite नियम फॉर्म
फिलहाल समस्या यह है कि मैं अब कोई फॉर्म नहीं भेज सकता।
मेरे पास दो फाइलें हैं जिनमें वास्तव में एक ही कोड होगा (प्रति नाम बदलें)। अगर मैं page1.php
पर कॉल करता हूं तो यूआरएल page1.php
के रूप में प्रदर्शित किया जाएगा। सब कुछ ठीक काम करता है जबकि मैं लॉगिन करने की कोशिश करता हूं या कुछ त्रुटियों का कारण बनता हूं। अब जब मैं index.php
पर कॉल करूंगा (जिसमें एक ही कोड है!) htaccess
यूआरएल में index.php
छुपाता है जैसा कि करना चाहिए! लेकिन जब मैं लॉगिन स्क्रिप्ट का परीक्षण करता हूं, तो फॉर्म पोस्ट करते समय कुछ भी नहीं होगा। यह सिर्फ साइट को ताज़ा करता है। तो मुझे कोई संकेत नहीं है कि यह क्यों हो रहा है?
यह व्यवहार फिर से लिखने के नियमों के माध्यम से htaccess
के कारण होगा। मैंने htaccess
हटा दिया और फिर कोशिश की। इसके बिना यह काम करता है लेकिन अभी भी इस बदसूरत यूआरएल है।
क्या htaccess
में दिखाने के लिए ठीक है:
form action = "<?php echo $_SERVER['PHP_SELF']?>" method= "post"...
तो अगर वहाँ कोई है जो मुझे बाहर मदद कर सकता है मैं वास्तव में सराहना करेंगे है:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)\.html$
RewriteRule ^.*\.html$ %1.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
AddType application/x-httpd-php .htm .html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^index\.(htm|html|php) http://www.domain.com/ [R=301,L]
## rewrite the index file in subdirectories
RewriteRule ^(.*)/index\.(htm|html|php) http://www.domain.com/$1/ [R=301,L]
और फार्म के साथ भेजा जाएगा।
अद्यतन:
अधिक जानकारी के देने के लिए मैं क्या हासिल करना चाहते: क्योंकि अलग-अलग भाषाओं की जड़-संरचना की तरह है::
www.domain.com/languagefolder/...
सभी संरचना के पहले निम्नलिखित है
अब जब कोई उपयोगकर्ता www.domain.com
पर कॉल कर रहा है तो उसे languagesubfolder
पर रीडायरेक्ट कर दिया जाएगा। जबकि इस उपफोल्डर के इंडेक्स पेज पर रीडायरेक्ट किया गया है, पहली बात यह होनी चाहिए कि www.domain.com/languagesfolder/index.php
दिखाई न दे ताकि यह केवल www.domain.com/languagesfolder/
हो। यह स्वचालित रूप से किया जाएगा। कोई बात नहीं। लेकिन www.domain.com/languagesfolder/index.php
पर कॉल करते समय इसे www.domain.com/languagesfolder/
के रूप में पुनः लिखा जाना चाहिए ताकि उपयोगकर्ता .../index.php
नहीं देख सके। यह अधिक पेशेवर लगता है।
अगली बात यह होगी कि आगे के पेज लिंक दिए जाएंगे ताकि उपयोगकर्ता को .../page.php
के बजाय .../page
दर्ज करना होगा ताकि फ़ाइल एक्सटेंशन दिखाई नहीं दे सके। और आखिरी लेकिन कम से कम आखिरी बात यह नहीं होगी कि जब कोई उपयोगकर्ता यह पता लगाने की कोशिश करता है कि यह किस प्रकार की फाइल है, तो मैं एक्सटेंशन को फिर से लिखकर एसक्यूएल इंजेक्शन को रोकना चाहता हूं ताकि उपयोगकर्ता .../page.php
के साथ-साथ .../page.html
या .../page.htm
टाइप कर सके।
सबमिट करने से पहले फॉर्म में वास्तविक कार्रवाई क्या है? उदाहरण के लिए स्रोत दिखाएं और देखें कि यह क्या कहता है? –
कृपया कुछ प्रश्न और प्रतिस्थापन यूआरएल उदाहरणों के साथ अपना प्रश्न अपडेट करें। अन्यथा ** अनुमान लगाना मुश्किल है ** अनुमान लगाएं कि आप कौन से नियम प्राप्त कर रहे हैं और समझ सकते हैं कि आप क्या हासिल करना चाहते हैं। नियमों में 'regex' है जो आने वाले यूआरएल में' पैटर्न 'से मेल खाना चाहिए, लेकिन उस पैटर्न को यूआरएल के बिना निर्धारित नहीं किया जा सकता है। आपके नियम वास्तव में मदद नहीं करते क्योंकि वे काम नहीं करते हैं। –
हैलो, मैंने अपना प्रश्न अपडेट किया। धन्यवाद। – bonny