Apache переписать, чтобы использовать другой index.php для admin.example.com - PullRequest
0 голосов
/ 12 января 2019

Мой Apache ржавый, но я изо всех сил пытался создать администратора на сервере общего хостинга для клиента.

Это сайт воспламенителя старого кода, и PHP может указать, куда идти, основываясь на URL.

В .htaccess я пытаюсь переписать с помощью:

RewriteCond %{HTTP_HOST} ^staging\.admin\.example\.com$
RewriteRule ^$ "http\:\/\/staging\.example\.com\/admin\.index\.php"[L] 

В данный момент я только пытаюсь сделать это без ошибки 500.

Впоследствии, однако, я хочу защитить административную область, для которой я собираюсь попробовать:

SetEnvIf Host admin.staging.example.com passreq
AuthType Basic
AuthName "Password Required"
AuthUserFile /home/user/.htpasswds/admin.staging.example.com/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any

Теперь мне сообщили, что хостинг-провайдер включит mod_env одновременно с тем, что они перенесут нас на сервер, который разрешит вход по SSH (я настаиваю на этом).

Это Apache 2.4. Кто-нибудь может увидеть, где я иду не так, или есть альтернативное предложение?

Спасибо! Chris

1 Ответ

0 голосов
/ 12 января 2019

Не используйте двойные кавычки для второй строки, попробуйте код ниже.

RewriteEngine On
RewriteBase /
# for main domain
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^$ /index.php [L]
# for subdomain
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$ [NC]
RewriteRule ^$ /subdirectory/index.php [L]
...