使用htaccess操作子文件夹的URL

时间:2016-03-23 05:46:20

标签: php .htaccess laravel

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

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

我创建了一个我的子网站的符号链接,该符号链接是使用laravel在mywebsite.com的public_html上创建的

所以你可以像这样访问它

mywebsite.com/subsite/

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

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

我希望它在访问

时成为默认路线
mywebsite.com/subsite/

而不是

mywebsite.com/subsite/admin

其他路线正在使用中,因此我无法重命名' admin'根

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

<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>

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

   <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路线

2 个答案:

答案 0 :(得分:0)

您可以使用:

<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>

答案 1 :(得分:0)

我的坏。这个工作正常。我忘记保存文件了。问题是刀片上的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>