मेरे पास एंगुलरजेएस वेबपैप और जर्सी बैकएंड है। मुझे यूआरएल रीराइटिंग सेट अप करने की ज़रूरत है, इसलिए दिए गए अपवादों को छोड़कर सबकुछ एंगुलर के index.html को फिर से लिखा जाएगा।टोमकैट 8 यूआरएल रिवाइट
उदा .:
http://my.domain.com/about will be rewritten
http://my.domain.com/photos/photo1.jpg will NOT be rewritten (file photo 1 exists)
http://my.domain.com/rest/myservice will be NOT be rewritten (it is a call to REST service)
मैं इस प्रकार बिलाव 8 URL पुनर्लेखन वाल्व की स्थापना की है:
conf/server.xml conf में<Host name="my.domain.com" appBase="webapps/MyDomainServer" unpackWARs="true"
autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
<!-- access logging, aliases,...-->
</Host>
/में
कैटालिना/my.domain.com/rewrite.config
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} ^/rest.*
RewriteRule^- [L]
RewriteRule^index.html [L]
टॉमकैट मेरी पुनर्लेख सेटिंग्स को अनदेखा करता है, कुछ भी नहीं लिखा जाता है, लॉग में कोई त्रुटि/अपवाद नहीं है। मैं क्या गलत कर रहा हूं? अग्रिम में धन्यवाद।
मैंने रीटाइटवेल को मेटा-आईएनएफ में config.xml में स्थानांतरित करने और वेब-आईएनएफ में कॉन्फ़िगरेशन को फिर से लिखने का प्रयास किया है, लेकिन यह वैसे ही व्यवहार करता है।
लेकिन यह दोषपूर्ण क्यों था? मेरे साथ भी वही दिक्कत है। % {REQUEST_FILENAME} हमेशा शून्य है ... –
... और SCRIPT_FILENAME सही है, लेकिन रीवाइटकंड% {SCRIPT_FILENAME} -f संसाधन में लापता अग्रणी/शिकायत के बारे में शिकायत करता है। यह एक विंडोज सिस्टम है। तो पथ सी है: \ ... बिना अग्रणी/ –
हमारे मामले में, हमने (REQUEST_FILENAME} के बजाय {REQUEST_URI} का उपयोग किया। हम नियमों को पूरी तरह से नहीं छोड़ सके क्योंकि हम आवेदन के लिए स्थानीय संपत्तियों को लोड करने में असमर्थ थे, लेकिन REQUEST_URI का उपयोग करने के लिए! -f और! -d को बदलना, कम से कम अभी तक काम कर रहा है। –