Laravel路由,index.php和相对路径

时间:2014-07-06 21:47:39

标签: php web laravel uri relative-path

我在Laravel及其路线方面遇到了问题。

我正在重组我今年早些时候上网的网站,我决定直接使用视图,而不是通过AJAX调用后端数据。由于我将部署到共享主机,我将Laravel的公共文件夹移动到项目的根文件夹,然后我将Laravel移动到它自己的文件夹中。我在开发环境中使用WAMP,目前,这是我的项目设置:

项目根文件夹

  • laravel
    • 应用
    • 自举
    • 供应商
  • CSS
  • JS​​
  • 的.htaccess
  • index.php 以及我需要的任何其他文件

在bootstrap文件夹中配置Laravel的路径后,此设置正常,我可以导航到 localhost / project-root-folder 以查看我在Route上设置的视图: :获得(“/').

我的问题是当我尝试从主页视图访问我网站中的其他页面时(我已经使用其他路由来调用视图)。 Laravel不断返回404错误消息,只有当URL包含 localhost / project-root-folder / index.php 时,路由才有效。我在WAMP中启用了Apache上的mod_rewrite并重新启动了网络服务器,这是我的.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]
</IfModule>

最重要的是,每当我尝试使用URL中的index.php访问第二页的链接时(只是为了确保它有效),我的CSS和JS文件都被破坏了。它似乎停止尝试从根文件夹中找到文件,而是尝试根据URL在某个虚构文件夹中找到它们。因此,如果我的辅助链接被称为 localhost / project-root-folder / cars / all ,并且为了使其工作,我必须键入 localhost / project-root-folder / index .php / cars / all ,网站将尝试在 localhost / project-root-folder / index.php / cars 中找到我的CSS文件,这根本不是我想要的

以下是我的标题布局视图中的JS和CSS文件的一些声明:

<link rel="stylesheet" type="text/css" media="screen" href="./css/custom.css">
<link rel="stylesheet" type="text/css" media="screen" href="./style.css">
<link rel="stylesheet" type="text/css" media="screen" href="./menu/css/simple_menu.css">
<script src="./js/jquery.tools.min.js" type="text/javascript"></script>
<script src="./js/translate.js" type="text/javascript"></script>
<script src="./js/common.js" type="text/javascript"></script>

这个链接似乎可以在主页面上工作,但不能在任何链接页面上工作,即使我已经明确说明它应该通过在 ./ 之前添加链接从根文件夹中检查

任何帮助?

0 个答案:

没有答案