【问题标题】:access a folder in 'public' directory of laravel访问 laravel 的“公共”目录中的文件夹
【发布时间】:2014-07-18 22:54:24
【问题描述】:

如何访问位于我的默认 laravel 安装的 public 目录中的文件夹。这个问题既适用于testing,也适用于live

测试时-

我正在使用 XAMPP 的 apache http 服务器在 Windows 上进行测试。我已将我的应用程序的根文件夹放在 XAMPP 的 htdocs 文件夹中。因此,当我尝试访问公共目录中的文件夹时,'localhost/myappname/public/blog' 会将我重定向到 'localhost/blog'

我不想要这种行为。 我希望它获取位于 'localhost/myappname/public/blog/' 位置的 'index.php' 文件。但事实并非如此。

活着时-

我的网站使用 apache http 服务器在 ubuntu 上运行。当我尝试在 firefox 中访问 'mysitename.com/blog' 时,它给了我这个错误 -

Firefox has detected that the server is redirecting the request for this 
address in a way that will never complete.

我不知道出了什么问题。我曾尝试使用 laravel 的默认 .htaccess 文件(在 public 文件夹中)和 apache httpd.conf 工作两天,但仍然无法解决它。在stackoverflow和google上搜索了很多,但仍然不知道我错在哪里。请指导我。

添加:

.htaccess文件的内容是-

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

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

【问题讨论】:

  • 你能解析其他 url/actions 吗?
  • 显示你的 Laravel .htaccess 内容
  • @Creator 是的,我可以解决其他问题。
  • @RahilWazir 更新了问题
  • @RahilWazir 请详细说明并帮助我解决它。我找不到出路。

标签: php apache .htaccess web laravel


【解决方案1】:

您只需在.htaccess 文件中注释此行即可。

RewriteRule ^(.*)/$ /$1 [L,R=301]

评论它或从文件中删除。这将解决您的目录/blog 问题以及重定向循环问题。

【讨论】:

  • 不。它不能解决问题。如果我调用'/blog/',它仍然会循环。
  • @halkujabra 它不会循环播放。没有其他重定向规则它如何为您重定向?确保您已删除浏览器的缓存。
【解决方案2】:

我使用了 apache 的Alias 特性来解决这个问题。我在虚拟主机配置中为'/blog' 添加了别名。

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2013-07-09
    • 1970-01-01
    • 2021-03-18
    • 2016-07-03
    • 1970-01-01
    • 2021-05-30
    • 2020-12-24
    • 2020-07-29
    相关资源
    最近更新 更多