Back to Question Center
0

సెమాల్ట్ HTTPS మరియు WWW అప్పీల్తో

1 answers:

సెమాల్ట్ ఒక ఫోల్డర్ యొక్క ఉప ఫోల్డర్లో HTTPS ను బలవంతం చేయదు, అయితే అది మొదటి స్థాయి సబ్ఫోల్డర్లు.

ఇక్కడ నేను సెమాల్ట్ స్నిప్పెట్లను ప్రయత్నించాను:

     RewriteCond% {HTTP: CF-Visitor} '"స్కీమ్": "http"
RewriteRule ^ https: //% {HTTP_HOST}% {REQUEST_URI} [R = 302, L]
RewriteCond% {HTTP_HOST}! ^ Www \. రావైట్ రైట్ ^ (. *) $ https: // www - pico hydro turbine. % {HTTP_HOST} / $ 1 [R = 302, L]RewriteCond% {SERVER_PORT}! = 443 [OR]
RewriteCond% {HTTP_HOST}! ^ Www \. రావైట్ రైట్ ^ (. *) $ https: // www. % {HTTP_HOST / $ 1 [R = 302, L]RewriteCond% {HTTPS} ఆఫ్లో ఉంది
RewriteRule. * https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 302]
RewriteCond% {HTTP_HOST}! ^ Www \. RewriteRule. * https: // www. % {HTTP_HOST}% {REQUEST_URI} [L, R = 302]    

ఎవరైనా సమాధానం

దిద్దుబాటు: సెమల్ట్ దానితో చుట్టూ ప్లే చేస్తున్నది మరికొంతమంది నేను సమస్యలో ఒక భాగం దొరకలేదు.

సబ్ ఫోల్డర్లలో ఒకదానిలో సబ్ ఫోల్డర్లు ఒకటి నేరుగా సైట్ రూట్ క్రింద, సెమాల్ట్ ఫైల్లో, నేను ఈ కోడ్

     RewriteRule ^ jquery_autocomplete. html $ jquery_autocomplete. php [L]    

వెంటనే నేను ఆ పంక్తిని జోడించేటప్పుడు, ఏవైనా కారణాల కోసం అది ఆ ఉప డైరెక్టరీలో HTTPS ను బలవంతంగా ఆపుతుంది, కానీ వెంటనే నేను దానిని తీసివేస్తే, HTTPS బలవంతంగా.

February 10, 2018

మీరు ఉపయోగించకూడదనుకోండి. htaccess. ఇది పనితీరుతో సహాయపడుతుంది మరియు ఇతర దానిని నివారించండి. htaccess ఫైళ్లు మీ కాన్ ఓవర్రైట్. మీ ప్రధాన పాత్రలో. మీరు జోడించగల ఫైల్:

  <డైరెక్టరీ "మీ వెబ్ డైరెక్టరీ">ఏదీ అనుమతించవద్దు . RewriteCond% {HTTPS} ఆఫ్లో ఉందిRewriteCond% {HTTP: X- ఫార్వార్డ్-ప్రోటో}! HttpsRewriteRule ^ https: // www. ఉదాహరణ. కామ్% {REQUEST_URI} [L, R = 301] .  

ఇది శాశ్వత మార్పు అయితే, 302 కు బదులుగా 301 ఉపయోగించడం మంచిది, 302 తాత్కాలికమైనది

సైట్ రూట్ క్రింద సబ్ ఫోల్డర్లు ఒకటి సబ్ డైరెక్టరీలలో ఒకదానిలో, HTAccess ఫైలులో, నేను ఈ కోడ్

మరియు ఆ సమస్య. అప్రమేయంగా, mod_rewrite మాతృ ఫోల్డర్ల నుండి నిర్దేశకాలను వారసత్వంగా పొందదు. సో subfolder లో mod_rewrite మార్గదర్శకాలు పూర్తిగా మాతృ ఫోల్డర్లలో నిర్దేశకాలను భర్తీ (URL canonicalize ఆదేశాలు). వాస్తవానికి, సబ్ఫోల్డర్లో RewriteEngine ను అనుమతించడం కేవలం తల్లిదండ్రుల నిర్దేశకాలను.

లో. సబ్ డైరెక్టరీలో htaccess ఫైల్ మీరు క్రింది వాటిని చేర్చడానికి ప్రయత్నించవచ్చు:

  RewriteOptions వారసత్వం 

అయితే, మీరు తల్లిదండ్రులలో ఆ mod_rewrite నిర్దేశకాలను గమనించాలి. htaccess ఫైల్ subfolder లో నిర్దేశిత తరువాత. (అలాగే, వారసత్వంగా నిర్దేశించిన డైరెక్టర్లు subfolder యొక్క "వాస్తవంగా కాపీ" ఉంటాయి. htaccess ఫైల్ - కాబట్టి వారు చాలా ఊహించిన విధంగా ప్రవర్తించలేరు. )

మీరు Apache 2 లో ఉంటే. 4+ మీకు అదనపు ఎంపికలు ఉన్నాయి. ఉదాహరణకు, మీరు క్రింది పేర్కొనవచ్చు. htaccess ఫైల్ అన్ని సబ్ ఫోల్డర్లు కోసం మాతృ నిర్దేశకాలను వారసత్వంగా పొందటానికి మీ డాక్యుమెంట్ రూట్లో. htaccess ఫైళ్లు మరియు మాతృ నిర్దేశకాలను మొదట అమలు చేస్తారు.

  RewriteOptions InheritDownBefore 

సూచన:
http: // httpd. Apache. org / డాక్స్ / ప్రస్తుత / mod / mod_rewrite. html # rewriteoptions


HTTPS మరియు www లో ఒక నియమం ను నిర్బంధించడానికి మీరు ఇలా చేయవచ్చు:

  RewriteCond% {HTTPS}! [OR]
RewriteCond% {HTTP_HOST}! ^ Www \. RewriteRule (. *) https: // www. ఉదాహరణ. com / $ 1 [R = 302, L] 

మీరు ఇప్పటికే ఉన్నదానితో పోలిస్తే, కానీ ప్రత్యామ్నాయంగా మీరు % HTTP_HOST ను ఉపయోగించలేరు (దీనికి కారణం మీరు మూసివేత గిరజాల కలుపును కోల్పోతున్నారు) ) www. సబ్డొమైన్. (మీరు % {SERVER_NAME} ను ఉపయోగించుకోవచ్చు కానీ సర్వర్ ఆధారపడినది. )

302 (తాత్కాలిక) రీడైరెక్ట్ పరీక్ష కోసం మంచిది, కానీ దీనిని మార్చండి 301 .

రెండు ప్రత్యేక నియమాలు కలిగి అప్పుడు మీ 3 వ కోడ్ బ్లాక్ ఉపయోగించండి.