2013-08-18 10 views
0

Ошибка в браузере, я получаю это:Правило перезаписи для относительного пути?

The requested URL /home/user/public_html/some_folder was not found on this server. 

И журнал Апач:

[Sat Aug 17 20:57:57 2013] [error] [client ] File does not exist: /var/www/html/home 

Поэтому, естественно, я думаю, я буду стараться RewriteBase /../../../home/user/public_html/, но это дает мне:

[Sat Aug 17 20:59:22 2013] [error] [client ] Invalid URI in request GET /~user/ HTTP/1.1 

Как мне обойти это?

.htaccess, прост:

RewriteEngine On 

RewriteBase /../../../home/user/public_html/ 

RewriteRule index.php     some_folder/index.html [L] 
+0

Похоже, что ваше правило перезаписи, вероятно, похоже на это: 'RewriteRule^(. +) $/Some/value/here' - если это так,'/'перед словом' some' сообщает apache, что '/some/value/here' является абсолютным URL-адресом. Вместо этого попробуйте добавить правило '/ home/user/public_html' к правилу, чтобы оно выглядело следующим образом:' RewriteRule^(. +) $/Home/user/public_html/some/value/here' и позвольте мне (нам) знать что происходит. – jerdiggity

+0

Такая же ошибка. Файл не существует. –

+0

Что произойдет, если вы просто используете 'RewriteBase /' вместо этого? – jerdiggity

ответ

0

Вы можете использовать символические ссылки.

cd /var 
cp /var/www /var/backup_www 
rm -rf /var/www 
ln -s /home/user/public_html/ www 

Включите следующие символические ссылки в вашем httpd.conf.

<Directory /var/www> 
    Options FollowSymLinks 
</Directory> 

<Directory /home/user/public_html> 
    Options -FollowSymLinks 
</Directory> 

В качестве альтернативы, просто измените DocumentRoot для сервера/виртуального хоста.

+0

Можете ли вы рассказать о том, для чего предназначены каждый шаг? У меня нет доступа root. –

+0

Затем это должно быть настроено вашим хостом. Любой достойный общий хостинг-сервис обеспечит поддержку. – FakeRainBrigand

+0

На самом деле я не использую общий хостинг. Это веб-сервер centos, созданный моим другом, и он не совсем понимает, в чем проблема. Я надеялся, что вопрос о stackoverflow прояснится для нас обоих. –