【问题标题】:.htaccess prevent subdirectory browsing and update URL in browser.htaccess 阻止子目录浏览并在浏览器中更新 URL
【发布时间】:2014-11-17 07:37:18
【问题描述】:

我试图通过显示特定页面来防止浏览子目录中的文件,同时防止两个 URL 上的重复内容。

我在一个子目录下有几个文件,例如:

www.example.com/subfolderA/pageone.html

www.example.com/subfolderA/pagetwo.html

www.example.com/subfolderA/pagethree.html 等等

我不希望用户访问子目录本身 (www.example.com/subfolderA/) 并查看所有文件的列表。相反,我希望它们被定向到特定页面(不一定称为“index.html”),比如说pageone.html

我已将以下内容放入该子目录中的 .htaccess 文件中:

DirectoryIndex pageone.html

虽然这会阻止浏览文件并显示我想要的页面,但它会导致重复页面出现在搜索引擎中。

www.example.com/subfolderA/www.example.com/subfolderA/pageone.html

如何确保子目录本身不会被搜索引擎索引 - 即始终将浏览器中的 URL 更新为 www.example.com/subfolderA/pageone.html

这也是满足我要求的最佳解决方案吗?

任何帮助表示赞赏。

谢谢。

【问题讨论】:

    标签: apache .htaccess mod-rewrite seo directoryindex


    【解决方案1】:

    要删除重复页面,您可以在/subfolderA/.htaccess 中使用此规则:

    RewriteEngine On
    RewriteBase /subfolderA/
    
    RewriteCond %{THE_REQUEST} (/subfolderA)/?[?\s] [NC]
    RewriteRule ^$ %1/pageone.html [L,R=301]
    

    【讨论】:

    • 感谢您的回复 anubhava。我试过你的代码,但我认为这是错误的方式。我试图确保浏览器中的 URL 是 www.example.com/subfolderA/pageone.html 而不是 www.example.com/subfolderA/。我将如何实现这一目标?谢谢。
    猜你喜欢
    • 2011-09-16
    • 2016-09-24
    • 1970-01-01
    • 2014-03-06
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2021-10-25
    相关资源
    最近更新 更多