2009-03-02 17 views
6

कई अन्य लोगों को अपाचे में कुछ बहुत ही सरल mod_rewriting करने में समस्याएं आ रही हैं।मॉड फिर से लिखना समस्या

मेरे पास मेरी .htaccess में निम्नलिखित:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^view/([0-9]+)/([0-9]+)$ view.php?advertId=$1&publisherId=$2 [NC,QSA,L] 

कौन सा अनुवाद करने के लिए/देखें/4093/203 qs = वैल माना जाता है -> /view.php?advertId=4093 & publisherId = 203? qs = val

अब, यह इसे/देखने के साथ कॉल करते समय काम करता है ..., लेकिन जब लोअरकेस/व्यू कर रहा है, तो यह सही फ़ाइल पर रीडायरेक्ट करता है, लेकिन advertId और publisherId मेरी PHP स्क्रिप्ट के भीतर सेट नहीं है पहला अक्षर-अपरकेस व्यू और मैं बस उस मोर्चे पर क्या चल रहा है उसके साथ कोई सुराग नहीं रखता है (मैं परीक्षण कर रहा हूं और उस व्यवहार को बस अपने वी पर कर देख रहा हूं iew.php)।

कोई भी जानता है कि यह क्यों हो रहा है?

Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0 

आईई:

मैं जोड़ना चाहते हैं, अपने सर्वर की जानकारी इस प्रकार है। डिफॉल्ट डेबियन पैकेज + php-mssql के साथ एक स्टॉक ब्रांड नया डेबियन इंस्टॉल।

उत्तर

10

MultiViews इस व्यवहार का कारण बन सकता है, जो mod_rewrite के अनुरोध को पास करने से पहले मौजूदा फ़ाइल को सिमिनर के अनुरोध को मैप करने का प्रयास कर रहा है। इसे अक्षम करने का प्रयास करें:

Options -MultiViews 
+0

खूनी शानदार! क्या मैं पूछ सकता हूं कि कैसे और क्यों? – kastermester

+0

'मल्टीव्यूज़ 'एक कोर फीचर है जिसे mod_rewrite से पहले निष्पादित किया जा रहा है। जब 'मल्टीव्यू' सक्षम किया जाता है, तो अपाचे एक समान फ़ाइल नाम खोजने का प्रयास कर रहा है ताकि अनुरोध पथ मैप किया जा सके। तो आपका '/ view/...' को '/ view.php/... 'पर मैप किया गया है और फिर mod_rewrite को पास किया गया है, जो तब एक मिलान नहीं ढूंढ सकता है। – Gumbo

+0

आह ठीक है, मदद के लिए एक टन धन्यवाद, मुझे पुनः लिखने के साथ गड़बड़ करने की कोशिश करने के बहुत सारे प्रयास किए, जो स्पष्ट रूप से कुछ भी मदद नहीं करता - आपकी मदद बहुत सराहना की है! :) – kastermester

संबंधित मुद्दे