2013-06-09 3 views
1

У меня проблема с mod_rewrite и Laravel 4 на общем хостинге.Mod_Rewrite проблема на общем хостинге (Godaddy & Laravel 4)

Я переименовал общественность в lvrp. Переименование само по себе прекрасно, и было проверено на моем localhost. Однако при загрузке в GoDaddy он сначала просто выбросил ошибку 500. Тогда я нашел другой .htaccess и изменил его следующим образом:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

Это может быть не лучшим вариантом, но, по крайней мере, это работает. Вид.

Я могу получить доступ к стартовой странице. Я не могу получить доступ к любой другой странице, если я не добавлю index.php в URI. С index.php я могу получить доступ к каждой странице.

Любые идеи о том, как заставить работать, не добавляя index.php?

EDIT # 1:

[error] [client x.x.x.x] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 

Это ошибка я получаю в журнале апача.

+0

Два вопроса: 1) mod_rewrite включен на вашем сервере хостинга? 2) Вы обслуживаете веб-приложение из корневого URI или под виртуальным каталогом? –

+0

mod_rewrite действительно включен. Мое веб-приложение находится в public_html/websites/domainname. Он доступен через domain.com. Этот домен попадает прямо в папку domainname, если вы понимаете, что я имею в виду. @RubensMariuzzo – user1643162

ответ

0

Хорошо, как-то я получил это, переместив проект в другой каталог.

Apache mod_rewrite (и регулярные выражения) все еще путают меня. Я понятия не имею, почему это не сработало или почему это работает сейчас. По крайней мере, он работает так, как я этого хочу.

Для других пользователей с той же проблемой я нашел массу примеров, когда просто искал godaddy и проблемы с чистыми URL-адресами. Надеюсь, это может помочь.

Спасибо за ответы.

0

Любые идеи о том, как заставить работать, не добавляя index.php?

Для этого не требуется mod_rewrite. Просто добавьте эту строку в верхней части .htaccess:

DirectoryIndex index.html index.php 

Это сделает апач автоматически найти и сделать index.html, если найдено в противном случае index.php будет отображаться в любом подкаталоге под DOCUMENT_ROOT.

+0

К сожалению, это не сработает. – user1643162

0

Я знаю, что это старый, но я просто этот вопрос сегодня и решить ее я изменить

RewriteRule ^(.*)$ index.php/$1 [L]

в

RewriteRule ^(.*)$ /index.php/$1 [L]

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