2015-07-09 6 views
1

Это моя проблема, я хочу, чтобы перенаправить весь запрос index.php с .htaccess Мои коды в .htaccess являются:Apache перенаправлений перенаправляет на каталог

первый файл в корневом каталоге:

<IfModule mod_rewrite.c> 
    Options -Indexes 
    RewriteEngine on 
    RewriteRule ^$ /public/ [R,L] 
    RewriteRule (.*) /public/$1 [R,L] 
</IfModule> 

второй в общественный справочник:

<IfModule mod_rewrite.c> 
    Options -Indexes 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

Когда, если я иду на ссылку, я перенаправлен на index.php, но появляется паб каталог ЛИК, и это не хорошо для моего укоренения класса ... Result

Как я могу сделать, чтобы перенаправить http://localhost:8888/my_project/ вместо http://localhost:8888/my_project/public/

Спасибо за anwser

ответ

1

Удалить R (перенаправлять) флаг от корня .htaccess:

<IfModule mod_rewrite.c> 
    Options -Indexes 
    RewriteEngine on 
    RewriteBase /My_project/ 

    RewriteCond %{DOCUMENT_ROOT}/My_project/public/$1/ -d 
    RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=302] 

    RewriteRule ^(.*)$ public/$1 [L] 
</IfModule> 

Проверьте это после очистки кеша браузера.

+0

Спасибо, но только для общественности ... У меня есть другая проблема, чтобы доступ к папке css публично, uri is/public/css, как можно предотвратить это? – Phoenix

+0

Извините, не понял вопроса. В чем проблема с URL-адресом css? – anubhava

+0

url localhost: 8888/My_project/css перенаправлять на localhost: 8888/My_project/public/css/ – Phoenix

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