Назад | Перейти на главную страницу

httpd.conf, чтобы разрешить www.mysite.com и www.mysite.com/mantis и phpmyadmin?

У меня есть приложение php, которое я использую для размещения:

~/public_html/beta/

И mantis и phpmyadmin в:

~/public_html/mantis/
~/public_html/phpmyadmin/

Раньше приложение было доступно как:

www.mysite.com/beta/

И другие как:

www.mysite.com/mantis
www.mysite.com/phpmyadmin 

Нам пришлось внести определенные изменения в наше приложение и перенести приложение из / beta / в / (то есть в корень документа).

Мне неудобно иметь mantis, phpmyadmin в качестве подпапок в public_html - я боюсь, что они могут быть случайно удалены / изменены мной / другими администраторами.

Как я могу настроить свой httpd.conf, чтобы продолжить доступ к своему богомолу и phpmyadmin как:

www.mysite.com/mantis
www.mysite.com/phpmyadmin 

а также хранить «заявку» по адресу:

www.mysite.com

?


Мой текущий httpd.conf читается как:

<VirtualHost IPADDRESS:80>
    ServerAlias MYSITE.com
    DocumentRoot /var/www/html
    ServerName MYSITE.com
    UseCanonicalName On

 <IfModule mod_rewrite.c>
    RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
...

Вам нужно хранить их в папках под основным доменом или вы можете разместить их на поддоменах?

Вы можете хранить приложение, mantis и phpmyadmin в отдельных папках, настраивая по 3 виртуальных домена для каждой из них, например:

<VirtualHost *:80>
    ServerName MYSITE.com
    ServerAlias www.MYSITE.com
    DocumentRoot /var/www/html/public_html
#etc

<VirtualHost *:80>
    ServerName phpmyadmin.MYSITE.com
    DocumentRoot /var/www/html/phpmyadmin
#etc

<VirtualHost *:80>
    ServerName mantis.MYSITE.com
    DocumentRoot /var/www/html/mantis
#etc

Итак, приложение прямо в public_html, phpmyadmin в / var / www / html / phpmyadmin, а mantis в / var / www / html / mantis.

Затем просто настройте дополнительный DNS и заходите на сайты с помощью: www.mysite.com phpmyadmin.mysite.com mantis.mysite.com

Вы должны иметь возможность сделать правило перезаписи в .htaccess, что-то вроде RewriteEngine на

RewriteBase /
RewriteRule ^(?!mantis)(?!phpmyadmin)(.*)$ beta/$1 [L]

(Это будет перенаправлять каждый запрос в подпапку / beta /, если он не запускается в ether mantis или phpmyadmin, также это было сделано из памяти, поэтому, если вы получите синтаксическую ошибку, это просто моя неумелость в регулярных выражениях)