2015-09-16 3 views
1

У меня проблема с маршрутом в Laravel 4.2. Вот детали:Laravel 4.2: Маршрут конфликтует с именем подпапки внутри общей папки

У меня есть пример маршрута:

Route::get('users', function(){return 'some-thing'}); 

и маршрут по-прежнему работать нормально на HTTP :: // LOCALHOST: 8000/пользователей.

Однако, когда я создаю подпапку внутри общей папки, ее имя является «пользователями».

--public 
    --users 

Эта ссылка не работает и возвращает индекс папки. Я знаю, что это серьезная проблема.

Как это исправить? Не могли бы вы мне помочь?

ответ

1

Я бы не сказал огромную проблему безопасности, если в этой папке есть конфиденциальные данные, тогда она не должна быть «общедоступной». Вы можете запретить списки каталогов (при условии, Apache VirtualHost или .htaccess):

Options -Indexes 

Как и в (и большинство других структур) Laravel в файле .htaccess, он использует только „Router“, если файл или каталог не существовать. Это обычное явление, как показано ниже:

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 
+0

Я знал, что это с ошибкой 403 forbiden, однако он по-прежнему не возвращает мой маршрут пользователям. Вот почему я сказал, что маршрут конфликтует с именем подпапки внутри общей папки. (Я использую Apache) –

+1

Как я объяснил ниже, это нормально, потому что «пользователи» существуют, поэтому он не будет использовать маршрут Laravel в соответствии со стандартным файлом .htaccess. Вот почему css/js/images все отлично обходятся без указанных маршрутов в Laravel. – Devon

+0

Ну, теперь я понимаю, спасибо за ваш ответ. Но есть ли способы заставить его использовать маршрут, просто вопрос. –

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