php - 在子目录中创建无限的附加页面

标签 php html regex .htaccess url

我正试图查明 Moz 的爬虫卡住的问题。我们需要解决的一个简单问题是我们有相同页面的副本,即:

/capabilities/  
/capabilities/index.html

少数目录会出现该问题。但是我们也有一个问题,似乎是使可以访问的页面无限循环,只是为了这个子目录:

/customer_service.html/  
/customer_service.html/contact/index.html  
/customer_service.html/contact_us/contact_form.php  
/customer_service.html/contact/contact/contact/contact/index.html
/customer_service.html/contact/contact/contact_us/contact_form.php
/customer_service.html/contact_us/contact/contact/contact/index.html
/customer_service.html/contact_us/contact/contact/contact_us/contact_form.php
/customer_service.html/contact/contact_us/contact/contact_us/contact_us/contact/index.html

不断地继续......我认为它停止抓取只是因为它达到了 24,000 页。所有这些页面实际上都有效。实际上只需要两个页面:一个用于客户服务常见问题解答,一个用于联系公司。

我是营销人员,不是开发人员,所以我只知道这是一个问题。我想知道我们是否可以使用 htaccess 解决这个问题,或者是否还有其他问题。在我看来,所有这些其他页面都需要删除,而不仅仅是重定向。谢谢。

编辑:为说明和漫画目的添加了更多示例

最佳答案

有两件事要做。

一个是,就像你说的,不允许这些 URL 重定向到主页。显示您在 .htaccess 文件中的内容,我将看看您如何更改它。

另一方面,仅仅解决症状是不够的。你必须治愈疾病。这意味着您的网站上有一些不正确的链接。这些很可能是缺少初始斜杠的相对 URL(contact 而不是/contact)。

关于php - 在子目录中创建无限的附加页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145935/

相关文章:

javascript - 为什么 angular ng-bind 不从 JSON 中读取\n 换行符?

java - 找到 MIME 类型并且没有支持格式的视频

c# - 使用正则表达式将插值字符串转换为 string.Format

PHP/Linux shell 不需要的字符

php - MySQL 在 php foreach 循环中仅插入几行

php - 为什么 jQuery 单击事件监听器未在 WooCommerce 按钮上注册?

php - Laravel Eloquent 查找组合键

javascript - 将 SVG 定位在浏览器窗口的中间

regex - 列表中正则表达式匹配的 Elasticsearch 聚合

php - Mysql 中的 REGEP 减慢查询