Puncte:2

Rescrierea URL incorectă Apache pentru fișierele cu linkuri simbolice inexistente

drapel ar

Am un director (foo/încărcări), care conține 1 fișier: fișier1.txt

Am creat un link simbolic către acest director (bară/încărcări)

Aici e al meu .htaccess dosar înăuntru bar:

RewriteEngine Pornit
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Și acesta este fișierul meu vhost:

<VirtualHost *:80>
    ServerName bar.com
    DocumentRoot /var/www/bar

    <Directory /var/www/bar>
        allow from all
        order allow,deny
        AllowOverride All
    </Directory>
</VirtualHost>

Problema pe care o întâmpin este că, dacă încerc să accesez un fișier inexistent când folosesc folderul cu linkuri simbolice, acesta nu produce un răspuns 404. Iată ce vreau să spun:

  1. foo.com/uploads/file1.txt -> fișier difuzat ( CORECT)
  2. foo.com/uploads/file2.txt -> Apache 404 ErrorDocument servit ( CORECT)
  3. bar.com/uploads/file1.txt -> fișier difuzat ( CORECT)
  4. bar.com/uploads/file2.txt -> continuă la index.php (INCORECT)

De asemenea, am încercat să includ:

RewriteCond %{REQUEST_FILENAME} !-l

Inainte de RewriteRule, dar asta nu face diferența.

Stie cineva ce trebuie sa fac?

Puncte:1
drapel kz

Dacă doriți ca controlerul frontal să se aplice numai atunci când este accesat prin bar.com atunci ai putea verifica cele solicitate Gazdă antet în regulă. De exemplu:

RewriteCond %{HTTP_HOST} (^|\.)bar\.com [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Sau excludeți /încărcări subdirector:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^uploads/ index.php [L]

Sau includeți altul .htaccess dosar în /încărcări subdirectorul care suprascrie modelul de control frontal părinte. Puteți face acest lucru pur și simplu dezactivând (sau activarea - furnizarea de moștenire mod_rewrite nu este activată) motorul de rescriere din subdirector:

# /uploads/.htaccess
RewriteEngine Off

Alternativ, dezactivați .htaccess anulează cu totul și mută aceste directive la <Directory /var/www/bar> recipient în interiorul bar.com vHost.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.