2015-03-20 7 views
1

Я устроив fatfree сайт, но у меня проблема с его запуском в подкаталогеобезжиренный PHP в подкаталоге, маршруты не работают

это мой Htaccess:

RewriteEngine On 
RewriteBase /~site/ 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* /~site/index.php [L,QSA] 

и это маршрут я использую

GET /*/index=App->show_home 

У меня добавить /* до остального, потому что сценарий держит включая вложенную папку, в части маршрута.

Это работает, я полагаю, но как только я обновляю настройки dns, сайт больше не будет иметь эти данные, и я должен его обновить.

Есть ли параметр, который я могу применить где-нибудь, что позволит обеим сценариям работать?

ответ

2

Основная требуемая .htaccess выглядит следующим образом:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php [L,QSA] 

Обратите внимание, как:

  • RewriteBase не требуется
  • index.php расположен в той же папке, .htaccess

Но при использовании mod_userdir требуется немного больше конфигурации:

  1. Set RewriteBase явно (как вы это делали): RewriteBase /~myuser/
  2. В конфигурации каталога пользователей Apache, убедитесь, что FollowSymlinks и AllowOverride All включены. Они соответственно позволяют использовать ссылку ~ и обрабатывать .htaccess.

Вот пример конфигурации каталога пользователей Apache:

<Directory "/Users/myuser/Sites/"> 
    Options FollowSymlinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

Чтобы ответить на последний вопрос:

Есть ли настройки, что я могу применить где-то, что позволило бы оба сценария в Работа?

Ответ: нет, если вы обслуживаете веб-сайт из каталога пользователя. Переместите свой сайт на DocumentRoot, и все будет работать гладко.

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