【问题标题】:htaccess redirect to subfolder [closed]htaccess 重定向到子文件夹[关闭]
【发布时间】:2013-03-01 18:58:19
【问题描述】:

我有一个网站,我想将默认请求重定向到 subdir/index.php 和 subdir/$1 以供其他人使用。我找到了一些有效的 htaccess 示例(如下所示)

RewriteRule ^(.*)$ subdir/$1 [L]

但如果我不输入文件名,它将不起作用。所以如果我去mydev.com 它会出错。如果我去mydev.com/somefile.php 那么它工作。我该如何设置它,以便如果没有给出文件,它默认为 subdir/index.php 以及上述?

编辑 如果我的网站位于 mydev.com/ 或 mydev.com/somedir,我希望它能够正常工作

【问题讨论】:

    标签: apache .htaccess redirect subdirectory


    【解决方案1】:

    如果默认,你的意思是域单独,其他的就是其他的,你可以只使用这两个规则

    RewriteEngine On
    
    RewriteBase /
    
    RewriteRule ^/?$ subdir/index.php [R,L]
    
    RewriteCond %{REQUEST_URI} !^/subdir/index\.php$
    RewriteRule .+ subdir/$0 [R,L]
    

    如果您只想重写而不是重定向,请忽略 R。

    【讨论】:

    • 如果我指定一个文件,这可以工作,但如果我不指定,它就不行
    • @SacLoner 当您只输入mydev.com 时会发生什么?
    • 我得到一个 404,如果我输入 mydev.com/index.php 它可以工作(从 subdir 加载 index.php),如果我输入 mydev.com/subdir 它可以工作,显然如果我输入 mydev.com/subdir/index.php 它也可以。
    • @SacLoner 愚蠢的我,我忘记了 RewriteCond 中的 RewriteBase 和前导斜线 /。请重试。
    • 这在所有情况下都适用于 R.. 没有 R 它适用于所有情况,除非我没有指定文件。然后我得到一个404。我也不确定 RewriteCond 行。我测试了它评论和未评论,一切都一样(有 R 和没有 R)
    猜你喜欢
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2015-10-06
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多