2017-01-30 2 views
0

Ich habe die Website example.com.Zugriff auf einen Ordner verweigern, wenn von einer bestimmten URL aus zugegriffen wird

In einem seiner Ordner habe ich eine andere Website, die über die Domäne exampleSubSite.com zugegriffen wird und der Ordner der zweiten Website heißt /exampleSubSiteFolder/.

Der Zugriff über Umleitung im .htaccess der Haupt-Website gemacht wird:

:

jedoch
RewriteRule ^exampleSubSiteFolder - [L] 
RewriteCond %{HTTP_HOST} ^(www\.)?exampleSubSite\.com$ [NC] 
RewriteRule ^(.*)$ exampleSubSiteFolder/$1 [L] 

, ich diese Ordner nicht aus der URL der Hauptseite erreichbar sein wollen exampleSite.com/exampleSubSiteFolder/

Kann jemand, bitte helfen Sie mir mit, dass? Ich weiß, dass die Lösung insgesamt schlecht ist, aber das hängt nicht von mir ab.

+0

ist dies 2,2 oder 2,4? Sind Sie der Administrator der Website? –

+0

Ja, ich bin Apache-Version ist 2.4.18 – Dimentica

Antwort

1

Dies ist, wie ich es in Virtual Kontext tun würde (funktioniert nur auf 2.4.x):

<Directory /path/to/exampleSubSiteFolder> 
    <If "%{HTTP_HOST} == 'exampleSite.com'"> 
     Require all denied 
    </If> 
    <Else> 
     Require all granted 
    </Else> 
</Directory> 

Wenn Sie nicht der Admin waren und Zugang zu .htaccess nur würde ich in einem Ort nur .htaccess im angegebenen Verzeichnis:

<If "%{HTTP_HOST} == 'exampleSite.com'"> 
    Require all denied 
</If> 
<Else> 
    Require all granted 
</Else> 

Meine Empfehlung, niemals .htaccess wenn Sie die Website und Haupt conf Admin kann, Virtual usw.

Dies alles vorausgesetzt, Sie nur eine einzige „catch-all“ Virtualhost natürlich und/oder .htaccess haben.

Wenn Sie einen Virtualhost für jeden Namen haben (das ist, was jeder tun sollte), wird es genug sein mit allen verweigert oder gewährt, wenn sachgemäßer in jedem Virtualhost erforderlich ist.

+0

Wow machen würde, das ist groß! Vielen Dank! – Dimentica

1

Um dies zu tun, in den Ordner exampleSubSiteFolder erstellen .htaccess Datei und fügen Sie den folgenden in der es benannt:

Order Allow,Deny 
Deny from all 

Wenn Sie jedoch Apache 2.4 verwenden, dann würden Sie das folgende statt:

Require all denied 

Also jeder, der exampleSubSite.com/exampleSubSiteFolder/ zuzugreifen versucht würde gestoppt.

+0

Vielen Dank! Vielleicht habe ich erkläre, nicht richtig/exampleSubSiteFolder/wird der Stammordner der Website exampleSubSite.com so dass ich besorgt bin, ob diese Änderung der Ordner unzugänglich auf irgendeine Art und Weise oder nur f zugegriffen als exampleSite.com/exampleSubSiteFolder/ – Dimentica

Verwandte Themen