【问题标题】:htaccess redirect subdirectory (folder) to single page in same subdirectoryhtaccess 将子目录(文件夹)重定向到同一子目录中的单个页面
【发布时间】:2017-07-27 07:00:02
【问题描述】:

我遇到了另一个与 .htaccess 相关的问题,我似乎无法找到合适的解决方案。当您复制/粘贴下面显示的网址

时,我想要完成的是从子目录重定向到该同一目录中的特定html文档

例如: http://example.com/staging/test/http://example.com/staging/test/page.html

我的(几乎)工作方法:

Options -Indexes -MultiViews
RewriteEngine on

RewriteRule ^test/(.*)$ test/page.html [L]

这段代码的问题是它基本上重定向到正确的 page.html 但是如果你想点击 page.html 上的任何链接,它只会再次重定向到 page.html 而不是转到子目录 /test/ 中的特定链接,比如说 /test/page-2.html

重要提示:这个重定向应该只影响子目录“staging”。包括根目录在内的所有其他子目录都不会受到影响。

其他信息: 此代码也在我的 .htaccess 文件中,用于删除目录“staging”的 .html 扩展名

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [L]

目录“staging”未连接到任何 CMS,仅包含 .html 文件。 我在共享托管环境 (Hostgator/cPanel) 上。

谢谢。

【问题讨论】:

    标签: apache .htaccess redirect subdirectory


    【解决方案1】:

    使用以下规则,您仅使用 L 标志,但我正在修改它以进行重定向,如您所述。

    Options -Indexes -MultiViews
    RewriteEngine on
    
    RewriteRule ^test/$ /staging/test/page.html [R=301,L]
    

    【讨论】:

    • 不幸的是,这给了我一个 404 页面。
    • 你在哪里使用规则!
    • 我正在使用 .htaccess 文件中的规则,该文件位于子目录“test”中。根目录下还有另一个 .htaccess。但是子目录“test”必须完全独立于根目录。
    • 你指的是什么编辑?我试过你的代码,它产生了一个 404 not found 。 (链接有误。)
    • 在您更新您的问题后,我已经更新了我的规则,请检查是否有效。
    【解决方案2】:

    您只想重定向目录,而不是其中的文件。规则中的模式表示匹配目录test/,后跟任何.*,包括任何文件。

    要单独匹配目录,模式必须在test处停止,这通过字符串结尾anchor来完成

    RewriteRule ^test/$ /staging/test/page.html [R,L]
    

    您可以保留相对路径并添加RewriteBase指令,而不是绝对路径

    RewriteBase /staging
    RewriteRule ^test/$ test/page.html [R,L]
    

    如果您只想重写,请忽略 R 标志。

    【讨论】:

    • 这会产生 404 未找到。我认为这是因为目录“test”没有 index.html。
    • 我刚刚浏览了其他cmets,.htaccess文件在子目录test?
    • 感谢您提出这个问题。 .htaccess 文件位于“暂存”之前的目录中。 example.com/staging/test(你实际上为我提供了一个解决方案来隐藏相同设置的 .html 扩展名)
    • 澄清一下,是/staging/.htaccess 还是/staging/test/.htaccess 还是两者兼而有之?
    • 我是/staging/.htaccess
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2017-01-29
    • 2021-09-03
    • 2011-01-19
    • 1970-01-01
    相关资源
    最近更新 更多