Aynı web alanını kullanarak iki etki barındıran zaman nasıl etki alt klasörlere erişimi engellemek mi?

1 Cevap php

Benim site alanı aynı kök klasöre işaret iki etki var. Benim kök dizin şöyle kurulum:

  • / Domain1
  • / Etkialanı2
  • / Paylaştı

Nerede istekleri için ...

Current .htaccess:

# Redirect domain1.com paths to domain1 folder.
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/ Domain1/
RewriteRule ^(.*)$ / Domain1/$1

# Redirect controllers to index.php.
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^domain1/(.*)$ / Domain1/index.php?controller=$1 [QSA,L]

# Redirect domain2.com paths to domain2 folder.
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/ Etkialanı2/
RewriteRule ^(.*)$ / Etkialanı2/$1

# Redirect controllers to index.php.
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^domain2/(.*)$ / Etkialanı2/index.php?controller=$1 [QSA,L]

Ne kalan var olduğunu:

  1. Don't serve pages from http://www.domain1.com/ Domain1 if the user types this in manually.
  2. Don't serve pages from http://www.domain1.com/ Etkialanı2 if the user types this in manually (I've already implemented this but omitted it for brevity).

Note: I would rather not use symlinks since I run xampp on windows for local development.

My question is:

Nasıl http://www.domain1.com/ Domain1 için http://www.domain1.com dahili olarak yönlendirmek değil, hizmet edemez http://www.domain1.com/ Domain1 kullanıcı tarafından yazılmışsa?

1 Cevap

Siz URI başlangıçta talep edilmiştir ne görmek için request line test etmek gerekir:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(domain1|domain2)[/?\ ]
RewriteRule ^(domain1|domain2)($|/) -

Veya bu tür istekler ele bazı noktaya isteği yeniden bu durumda (Apache 2, [R=404] bayrak) durum kodu 404 gönderebilirsiniz.