2017-09-07 3 views
0

ich eine Indexdatei unter www haben/und Apache-Konfiguration Set DirectoryIndex- zu diesem index.htmlHTML immer aus dem Cache geladen

Wenn ich diesen Link

example.com/ 

Alles funktioniert gut, da die HTML selbst hat Meta-Tag nicht Cache zu verwenden, aber wenn ich

example.com (Which in url bar will redirect to example.com/) 
//Note: In chrome, the initiator for this also change to example.com 

Der Index ist immer abgerufen aus dem Cache

Und der zweite Weg ist, wie normale Endnutzer in der Adresse eingeben. Kannst du mir erklären, was vor sich geht?

Antwort

1

example.com/ wird anders behandelt als example.com. Der Schrägstrich zeigt an, dass eine URL ein Ordner und kein Dokument ist. Das Hinzufügen zusätzlicher Schrägstriche (wie example.com///) wird in diesem Zusammenhang auch ein unabhängiges Caching vorsehen.

würde ich zwingen einen einzelnen Schrägstrich, empfehlen, die mit dem folgenden .htaccess getan werden kann:

RewriteEngine On 

# Assuming you're running at domain root. Change to working directory if needed. 
RewriteBase/

# www check 
# If you're running in a subdirectory, then you'll need to add that in 
# to the redirected url (http://www.example.com/subdirectory/$1 

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 

# Trailing slash check 

# Don't fix direct file links 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ $1/ [L,R=301] 

# Finally, forward everything to your front-controller (index.php) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php [QSA,L] 

Weitere Informationen bezüglich dieser kann here finden.

Hoffe, das hilft! :)

+0

Während Sie richtig sind, wie würde es erklären, dass example.com immer aus dem Cache bekommen würde? Oder ist das das Standardverhalten mit DirectoryIndex? –

+0

Die Seiten sind unterschiedlich und ** jeder ** wird zwischengespeichert. Beim Besuch von 'example.com' wird 'example.com' zwischengespeichert. Beim Besuch von 'example.com ///' wird 'example.com ///' zwischengespeichert. Die Inhalte sind identisch, werden aber unabhängig voneinander zwischengespeichert. Das Hinzufügen von Schrägstrichen wie dieser ist eine nützliche Methode, um (im Wesentlichen) sicherzustellen, dass Sie Ihren Cache löschen, um Dinge wie CSS-Änderungen zu testen. –

Verwandte Themen