如何构造Laravel.htaccess以直接指向公用文件夹&;删除index.php

如何构造Laravel.htaccess以直接指向公用文件夹&;删除index.php,.htaccess,environment-variables,environment,laravel,clean-urls,.htaccess,Environment Variables,Environment,Laravel,Clean Urls,我正在尝试创建可在开发和生产服务器上使用的htaccess文件。开发服务器的文件夹结构如下所示: Server Root (www) -laravel -public -index.php -controller/method... etc 生产服务器没有不可公开访问的文档根。我正在appfog上部署此功能,需要.htaccess才能执行此操作。Appfog的文档中提到了这一点: 生产服务器的文件夹结构如下(它只是删除了laravel文件夹): 我希望在不使用apacheh

我正在尝试创建可在开发和生产服务器上使用的htaccess文件。开发服务器的文件夹结构如下所示:

Server Root (www)
 -laravel
  -public
   -index.php
    -controller/method... etc
生产服务器没有不可公开访问的文档根。我正在appfog上部署此功能,需要.htaccess才能执行此操作。Appfog的文档中提到了这一点:

生产服务器的文件夹结构如下(它只是删除了laravel文件夹):

我希望在不使用apachehttpd的情况下实现这一点,只使用htaccess,因为开发环境将不断变化

我希望能够做到这一点:

  • 访问
    http://localhost/laravel/X/X
    (其中X表示任何东西)
  • 被重定向到
    http://localhost/laravel/public/index.php/X/X
    (在url中隐藏public/index.php以防止重复url)
  • 访问
    http://example.com/X/X
    (其中X表示任何东西)
  • 被重定向到
    http://example.com/public/index.php/X/X
    (在url中隐藏public/index.php以防止重复url)
  • 阻止访问公用文件夹以外的目录/文件,并阻止访问公用文件夹中的目录,但不访问文件
  • 所有这些都不需要在生产和开发之间更改配置
  • 问题是,我如何做到这一点,我需要多少.htaccess文件


    到目前为止,我的进度一直在阅读laravel文档和本论坛帖子,但无论我做什么,当我进入
    http://localhost/laravel/

    查看一个可能的选项。

    您将把它放在应用程序的根目录中

    - application/
    - public/
      - .htaccess (already provided by laravel)
    - index.php/
    - .htaccess (the one specified by appfog)
    

    一切正常。

    你好,莫格图,你的回答没有回答我的问题。我不能使用虚拟主机。我完全误解了你的问题。请在你的htaccess中尝试这一行
    Server Root (www)
     -public
      -index.php
       -controller/method... etc
    
    - application/
    - public/
      - .htaccess (already provided by laravel)
    - index.php/
    - .htaccess (the one specified by appfog)