помогите с php urls - PullRequest
       2

помогите с php urls

0 голосов
/ 27 сентября 2010

У меня есть веб-сайт PHP, на котором есть две директории: директория приложения и публичная директория.

Проблема в том, что пользователь должен зайти на www.domain.com/public для доступа к сайту, но мне нужно, чтобы пользователь, который запрашивает www.domain.com/, был перенаправлен на www.domain.com/public

Итак, мой вопрос, каков наилучший способ сделать это?

Ответы [ 6 ]

3 голосов
/ 27 сентября 2010

Я бы сделал это с правилом переписывания .htaccess.Это гарантирует, что пользователь всегда перенаправлен, даже если index.php не запрашивается.Нечто подобное должно работать у вас:

RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.*)$ public/$1 [L] 
2 голосов
/ 27 сентября 2010

несколькими способами - .htaccess, или простой

<?php header('Location:http://www.domain.com/public'); ?>

сработает, если вам не нужен прямой доступ к чему-либо непосредственно из domain.com

1 голос
/ 27 сентября 2010

Вы также можете решить это в файле .htaccess. Просто создайте правило «Redirect»:

Redirect 301 / /public/
1 голос
/ 27 сентября 2010

Вы должны иметь дело с этим через ваш веб-сервер (IIS / Apache / иначе), так как он гораздо лучше подходит и подходит для такого рода задач.У SO есть множество ответов на перенаправление URI для различных веб-серверов.

... Кроме того, если вы не пускаете людей в свой «каталог приложений» (который, по-видимому, указывает на ваш веб-корень), вам следуетдействительно измените дизайн, если ваша цель - не пускать людей в эту папку: это угроза безопасности.

0 голосов
/ 27 сентября 2010

положить index.php в / содержащий:

<?php
header('Location:http://domain.com/public');
?>
0 голосов
/ 27 сентября 2010

Вы можете сделать редирект с помощью PHP.Внутри вашего index.php в корне основного документа:

<?php

header('Location: public');
die();

?>
...