भ्रम की स्थिति के बीच दो यूआरएल को फिर से लिखना नियमों

0

सवाल

इन दो नियमों में भ्रमित कर रहे हैं :

RewriteRule ^health-institute-([a-zA-Z\-]+)-([a-zA-Z\-]+)$ search.php?city=$1&speciality=$2 [L] 
RewriteRule ^health-institute-app-([a-zA-Z\-]+)$ search.php?city=$1 [L]

जब मैं चाहता हूँ करने के लिए तक पहुँचने health-institute-app-mycity (2 नियम) सर्वर पर विचार app एक मूल्य के रूप में और तक पहुँचने की कोशिश search.php?city=app&speciality=mycity (1 नियम)

कैसे कर सकते हैं मैं कहना है कि इन कर रहे हैं दो अलग-अलग नियम हैं?

.htaccess apache mod-rewrite
2021-11-23 10:56:12
1

सबसे अच्छा जवाब

2

हाँ, क्योंकि regex ^health-institute-([a-zA-Z\-]+)-([a-zA-Z\-]+)$ में पहला नियम यह भी मेल खाता है health-institute-app-mycity.

आप की जरूरत है रिवर्स करने के लिए इन दो निर्देशों इसलिए अधिक विशिष्ट नियम है ।

उदाहरण के लिए:

RewriteRule ^health-institute-app-([a-zA-Z-]+)$ search.php?city=$1 [L]
RewriteRule ^health-institute-([a-zA-Z-]+)-([a-zA-Z-]+)$ search.php?city=$1&speciality=$2 [L] 

(कोई ज़रूरत नहीं है करने के लिए बैकस्लैश एस्केप-हाइफन जब शुरू में या अंत के चरित्र वर्ग.)

हालांकि, regex में (अब) दूसरा नियम है संभावित अस्पष्ट बाद से हायफ़न (-) का इस्तेमाल किया जाता है परिसीमित करने के लिए दो मानों (city और speciality), लेकिन हाइफन भी शामिल है में दोनों के चरित्र वर्गों, तो यह संभवतः कर सकते हैं का हिस्सा हो सकता है मूल्यों के लिए खुद को । हालांकि, दोनों city और speciality नहीं दोनों होते हैं हाइफ़न के बावजूद, regex के उचित रूप में अनुमति देता है ।

उदाहरण के लिए, कैसे करना चाहिए के लिए एक अनुरोध health-institute-foo-bar-baz-qux हल हो जाएगा? के बाद से परिमाणक + है लालची, यह वर्तमान में परिणाम में search.php?city=foo-bar-baz&speciality=qux. अगर वहाँ कभी एक हाइफन में speciality (के रूप में यह सुझाव दिया जा सकता है मामले से regex) यह कभी नहीं होगा मिलान किया जा सकता ।

2021-12-09 22:55:14

@narseoh वास्तव में, के बाद से ये मान रहे हैं द्वारा सीमांकित एक हायफ़न द्वारा, सहित हाइफन में चरित्र वर्गों (यानी. मानों खुद को शामिल कर सकते हैं एक हाइफन) आप शुरू कर रहे हैं एक अस्पष्टता नहीं है. उदाहरण के लिए । क्या करना चाहिए health-institute-foo-bar-baz-qux को हल करने के लिए? कर सकते हैं city होते हैं हाइफ़न?
MrWhite

हाँ, वास्तव में, कुछ शहरों में एक हाइफन में शहर का नाम और अन्य शहरों में दो शब्दों में, अंतरिक्ष के द्वारा बदल दिया है, एक हाइफन में url
narseoh

@narseoh ठीक है, तो speciality कभी नहीं होता है एक हाइफन? (अन्यथा, यह का हिस्सा बन जाएगा city.) जो मामले में हाइफन से हटा दिया जाना चाहिए speciality चरित्र वर्ग दूर करने के लिए, इस अस्पष्टता/भ्रम की स्थिति है, क्योंकि यह ज़रूरत से ज़्यादा है ।
MrWhite

धन्यवाद @MrWhite , वास्तव में भी विशेषता हो सकता है एक हाइफन का उपयोग करता है, एक छोटे से अधिक जटिल के लिए मुझे. मैं इसके बारे में सोचा और जगह (-) के साथ (/) को अलग करने के लिए, डेटा है कि ने कहा कि मैं अन्य मुद्दों था (मैं एक और बनाने के लिए धागे के बारे में यह)
narseoh

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में