मैंने .php फ़ाइल एक्सटेंशन और URL से $_Get को छिपाने के लिए एक ट्यूटोरियल के आधार पर अपना .htaccess बदल दिया है, लेकिन पेज उछलता रहता है।

मैंने कई .htaccess परिवर्तनों की कोशिश की है, यह एकमात्र ऐसा है जो आंशिक रूप से भी काम कर रहा है। हालांकि, ऐसा लगता है कि लगातार रीडायरेक्ट/रीफ्रेश हो रहा है।

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP:X-Forwarded-Proto} =http

RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}\.php -f

RewriteRule ^(.*)/([0-9a-zA-Z_-]+) $1.php?name=$2 [NC,L]

"profile.php?name=company-name" को "profile/company-name" में बदलने की कोशिश कर रहे हैं, बिना पेज को देखे या अलग तरीके से काम कर रहे हैं। कुछ $_Get गतिशील सामग्री लोड हो रही है लेकिन पूरा पृष्ठ स्किप होता रहता है और कोई भी CSS स्टाइल काम नहीं कर रहा है।

1
Bruce Jayasinghe 7 अक्टूबर 2019, 19:04

1 उत्तर

सबसे बढ़िया उत्तर

अपने सभी नियमों को इससे बदलें:

RewriteEngine on    
RewriteBase /

RewriteCond %{HTTPS} !on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP:Host}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/?$ $1.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/([\w-]+)/?$ $1.php?name=$2 [QSA,L]

पुराने ब्राउज़र कैश से बचने के लिए नए ब्राउज़र में इस परिवर्तन का परीक्षण करना सुनिश्चित करें।

अपने css/js/समस्याओं के लिए इसे अपने पृष्ठ के HTML के <head> टैग के ठीक नीचे जोड़ें:

<base href="/" />

ताकि प्रत्येक सापेक्ष URL को उस आधार URL से हल किया जा सके, न कि वर्तमान पृष्ठ के URL से।

1
anubhava 8 अक्टूबर 2019, 13:25