2012-02-19 6 views
-2

У меня есть сайт, который имеет страницу администратора (например, admin.php), который, как правило, доступны через mydomain.com/admin.phpСкрытие страницы администратора как субдомен

То, что я надеялся, чтобы быть в состоянии сделать это использовать htaccess для отображения «admin.mydomain.com» на «mydomain.com/admin.php» таким образом, чтобы пользователь никогда не знал, что это «файл».

То есть, если кто-то извне пытался получить доступ к «mydomain.com/admin.php», я хочу, чтобы 404.

Теперь, для даже жесткой части: страница admin.php будет хотеть служить ссылки как «/admin.php?param=value» и т. д., и поэтому мне нужно посмотреть на реферер (???), чтобы эта работа работала должным образом.

can htaccess сделать это? Любая идея о том, с чего начать?

ответ

1

Если вы установили рекорд для admin.mydomain.com с тем же IP-адрес в качестве mydomain.com, а также тот же DocumentRoot,

Тогда это может быть сделано, как это в .htaccess:

RewriteEngine On 
RewriteBase/

RewriteCond %{ENV:REDIRECT_STATUS} 200 
RewriteRule^- [L] 

RewriteCond %{HTTP_HOST} ^(admin\.) [NC] 
RewriteRule^%1php [L] 

RewriteCond %{REQUEST_URI} admin\.php$ [NC] 
RewriteRule^- [R=404,L] 
0

Я действительно не понимаю, что вы пытаетесь сделать (или действительно, почему вам абсолютно необходимо иметь страницу mydomain.com/admin.php).

Если вы пытаетесь «скрыть» его от пользователей, почему бы не создать подобный поддомен, поместите файл в субдомен, реализуйте безопасность на всем субдомене, а затем нет необходимости возиться с перенаправлениями, рефереры или строки запроса.

Для безопасности вы можете захотеть сделать что-то вроде this:

В вашем .htaccess сайте:

AuthUserFile /path/to/htpasswd/file/.htpasswd 
AuthGroupFile /dev/null 
AuthName "MyDomain Admin Area" 
AuthType Basic 
require valid-user 

Создайте файл .htpasswd с помощью генератора, таких как this

Тогда вы не нужно скрывать страницу от пользователя, потому что без правильного имени пользователя и пароля они получат 403.

+0

Причина файл не может быть в другом месте, так это то, что я использую сторонние cms, и мне нужно будет дублировать установку ... что на самом деле не может быть возможным из-за лицензирования. – cmroanirgo

Смежные вопросы