【问题标题】:Manipulate URL with subfolder using htaccess使用 htaccess 操作带有子文件夹的 URL
【发布时间】:2016-07-10 07:14:21
【问题描述】:

我需要一些帮助。我有一个现有的网站。我使用 laravel 创建了一个管理站点。两者都是不同的项目。这是我想要的

我有一个名为 www.mywebsite.com 的网站

我在 mywebsite.com 的 public_html 上创建了一个用 laravel 制作的子网站的符号链接

所以你可以像这样访问它

mywebsite.com/subsite/

子站点符号链接指向我的 laravel 项目的公共文件夹

在我的 laravel 项目 'admin' 中有一条特殊的路由

我希望它是访问时的默认路由

mywebsite.com/subsite/

而不是

mywebsite.com/subsite/admin

其他路由正在使用中,所以我无法将 'admin' 重命名为 root

这似乎不适用于文件夹。有什么想法吗。它也应该接受参数

<IfModule mod_rewrite.c>
    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^subsite? /subsite/admin [QSA,NC,L]
</IfModule>

似乎文件夹具有高优先级。所以我将我的子站点重命名为 project

   <IfModule mod_rewrite.c>
        Options +FollowSymLinks -MultiViews
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^subsite? /project/admin [QSA,NC,L]
    </IfModule>

也试过了

   <IfModule mod_rewrite.c>
        Options +FollowSymLinks -MultiViews
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^subsite? /project/index.php/admin [QSA,NC,L]
    </IfModule>

现在它们都从我的子项目 laravel 中返​​回 404 错误。所以它看起来像工作,但不是 laravel 路线

【问题讨论】:

    标签: php .htaccess laravel


    【解决方案1】:

    你可以用这个:

    <IfModule mod_rewrite.c>
        Options +FollowSymLinks -MultiViews
        RewriteEngine On
        #RewriteCond %{REQUEST_FILENAME} !-f
        #RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^subsite/?$ /subsite/admin [QSA,NC,L]
    </IfModule>
    

    【讨论】:

    • @User101 你能说得更具体点吗?
    • subsite 是我的 laravel 公共文件夹上的符号链接。我认为文件夹和符号链接具有很高的优先级。 RewriteRule 不起作用。我仍然可以访问 mysite.com/subsite 中的所有 laravel 路由,其中​​应该只返回管理视图
    • @User101 好的,我已经把条件注释掉了,试试更新的规则。
    • 谢谢伙计。仍然没有工作。我不得不将子站点文件夹重命名为
    【解决方案2】:

    我的错。这个正在工作。我忘了保存文件。问题是刀片上的 laravel 图像 url 不起作用

    <IfModule mod_rewrite.c>
                Options +FollowSymLinks -MultiViews
                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule ^subsite? /project/index.php/admin [QSA,NC,L]
            </IfModule>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-19
      • 2016-06-28
      • 1970-01-01
      • 2013-02-05
      • 2015-04-22
      • 2023-03-26
      • 2021-05-08
      • 2015-01-21
      相关资源
      最近更新 更多