跳转到主要内容
你行网

Main navigation

  • 首页
  • 文章
  • 教程
  • 视频
  • 下载
  • 社区
  • 网站导航
User account menu
  • 登录

面包屑

  1. 首页

如何从基于 Drupal 的 CMS URL Linux 门户中删除 index.php

由 hrs, 24 八月, 2023

介绍
Drupal 是一个开源、免费的CMS  (内容管理)系统,可用于构建各种网页,例如此页面。它具有许多功能,包括支持管理 SEO URL,这对搜索引擎非常有利。

大约一年半前,我注意到这个页面上有一位爸爸影响了这些 SEO URL。然后我必须寻找解决方案,然后我解决了问题。然后最近这个现象又出现了,或者说我才注意到。有可能在其中一次基础系统升级期间,我可能不小心用“工厂”文件覆盖了以前修改的文件,因此我不得不再次进行这些更改。幸运的是,在我之前的笔记的帮助下,我现在能够在很短的时间内解决它,所以我想我应该写一篇简短的文章,看看它是否对其他人有效,我如果我必须再次设置它,那就更方便了。

因此,在这个简短的疑难解答中,我们将了解如何修复页面 URL 中不必要的 index.php 部分。

 

症状
当我们导航到基于 Drupal 的网站时,“index.php”部分突然出现在链接到子页面的请求开头的标题栏中。此页面的一些示例:

https://www.dwoke.com/index.php/
https://www.dwoke.com/index.php/leirasok
https://www.dwoke.com/index.php/cikkek
https://www.dwoke.com/index.php/leirasok/web-hoszting
https://www.dwoke.com/index.php/enciklopedia
(我没有直接链接这些网址,这样搜索引擎就不会得到不必要的错误地址,并且在编写本文时,该错误将被修复,因此它们无论如何都会跳回到正确的网址版本。)

另一个有趣的事情是,如果我们删除标题栏中的“index.php /”部分,页面将在没有它的情况下进入,因此它应该正常工作。但是,通过单击页面上的任何内部链接,下一页的 URL 将再次包含这个不需要的“index.php /”部分。

问题
一方面,这很烦人,因为如果我们谈论 SEO URL,则没有空间容纳任何 php 文件或其他参数,另一方面,它会导致更严重的问题:搜索引擎,例如,如果 Google找到这些不正确的 URL,然后开始对它们建立索引,这会引发几个问题:

新的URL是在Google索引中创建的,它们从SEO方面开始他们的职业生涯,因为它们是新的,所以没有指向外部链接,它们还没有SEO价值,等等......
由于页面在使用或不使用内部不必要的index.php 部分的情况下工作,因此会在Google 索引中创建重复内容,这也不利于排名。
所有这一切都是今天Apache 在你的日记中看到的这个网站的一个新鲜例子:

通过Google的抓取工具抓取URL

在命令中,我首先过滤了包含“66.249” IP地址的IP地址,这些IP地址众所周知是来自Google爬虫地址空间的地址,然后过滤“index.php”以仅显示它们,并且为了当前例如,我拍摄了前 20 行,这些都是在修复之前的早上。

这里可以明确的是,所有查询都以“index.php /”开头,并且服务器返回的响应代码为200,即将页面内容返回给请求者,没有任何问题。

所以这里的问题是,谷歌也开始“研磨”这些不正确的URL,所以如果我们不及时注意到,它会抓取大量的URL,我们的搜索引擎排名可能会下降很多。

我们怎样才能解决这一切?

 

解决方案
解决方案并不像您一开始想象的那么复杂,您只需要修改 Web 根目录中的两个文件即可。

修改.htaccess文件
.htaccess 文件可用于在指定限制内​​本地控制 Apache 在给定目录或目录结构中的操作。

首先,使用您喜欢的编辑器打开网页根目录中的 .htaccess 文件:

nano .htaccess
然后将以下部分放在开头并保存:


<IfModule mod_rewrite.c>
 RewriteEngine on
 # "index.php/" résszel kezdődő URL-ek "visszaterelése" 301-el a helyes címre:
 RewriteRule ^index.php/$ / [R=301,L]
 RewriteRule ^index.php/(.*) /$1 [R=301,L]
</IfModule>


这里发生的所有事情都是检查 Apache 指令是否重写了负责重定向的Apache 模块,然后打开重定向系统并使用状态代码 301(“永久迁移”)来重定向所有以“开头的请求” index.php /” 到没有这个的 URL 版本。例如,重写规则末尾的“L”标志确保 Apache 不再为此查询执行其他重写规则(如果这些规则仍在 .htaccess 的其他部分)。

实际上,这里我们只是将整个东西打包到一个控制指令中,只是为了保持常规,因为如果服务器上已经运行了 Drupal 系统,那么这个模块肯定是可用的。

这将防止“index.php /”部分将来包含在我们的 URL 中。

那么刷新页面的缓存也没什么坏处,因为不正确的 URL 可能仍然保留在里面。您也可以从管理菜单执行此操作,或者如果您使用drush,则使用以下命令:

drush cr
修改您的 robots.txt 文件
 

 

放置在Web根目录中的robots.txt文件是机器人的文件,我们可以在其中放置各种指令和规则来指示爬虫正确运行。然而,很多机器人都会忽略这个文件,很多时候这些机器人也被称为“坏机器人”。幸运的是,谷歌的机器人不是其中之一 - 这对我们现在很重要 - 但他们考虑了 robots.txt 文件。现在让我们打开这个文件进行编辑:

nano robots.txt
最后,添加以下单行并保存:

Disallow: /index.php/*


或者,如果您更有同情心,您可以添加一个命令:

echo "Disallow: /index.php/*" >> robots.txt
此行指示机器人(无论考虑到哪一个)不要索引以“/index.php/”开头的 URL。

这也“追溯”纠正了错误,即已索引的错误 URL 会从搜索引擎索引中排除。当然,这是一个较长的过程,其实施时间也取决于很多因素,例如机器人访问我们网站的频率等等。

 

结果
我们的行为成果可以通过回顾 Apache 日志文件来轻松验证,只是现在在本例中而不是前 20 行,它查看错误修复后创建的最后 20 行:

带有 301 响应代码的重定向 URL

在这里,我们也可以看到 Google 的机器人仍然运行错误的 URL,其中包含 index.php,但现在 Apache 不再返回之前的响应代码 200 和内容,而是返回响应代码 301。

如果我们使用 grep 的“-C”选项更好地“扩展”这些行,我们仍然可以在结果之前和之后看到 1-1 加行,因此我们可以看到在该特定查询之后发生的情况。另外,我在最后再次放置了 index.php 过滤,所以现在它以颜色突出显示,以便可以更好地审查:

重定向到 301 的 URL

在这里,您可以看到它在对以红色突出显示的 index.php 行的查询中返回响应代码 301,后跟没有 index.php 的相同 URL 的版本,它已经给出了正确的响应代码 200 以及内容本身。

因此,Google 几乎正在纠正索引中错误包含的 URL。

您还可以使用本说明开头所示的断开链接进行尝试。

 

结论
 

幸运的是,我及时注意到了这个问题,我还没有看到搜索下降,无论如何,在更新基本系统时,请确保如果用新的 .htaccess 和 robots.txt 文件覆盖旧的,不要不要忘记覆盖您之前的更改。所以。

标签

  • Drupal
  • 登录或注册以发表评论

评论

相关文章

Drupal Composer命令及作用总结
drupal 中的解耦菜单
drupal .htaccess 文件的配置解释
drupal启用大文件上传解决方案
drupal 基本的目录结构
drupal index.php 的工作流程
在 Drupal 8 中从 URL 中删除 index.php
drupal Index.php 的永久解决方法
Drupal 机读名称的命名规范
如何使用Drupal构建网站

文章标签

CSS
Excel
ubuntu
php
五笔
vim
Linux
HTML
command
drupal 7
composer
centos
Mysql
drupal 8
模块(module)
VPN
drush
JavaSrcipt
apache
drupal 9
英语
Drupal
SEO
nerdtree
network
果树种植
surround
drupal10
主题(theme)
phpmyadmin
ssh
权限
yum
二进制
声音
ssl
selinux
HTML5
用户
password
Dreamweaver
flameshot
颜色
翻译
uploadprogress
DDEV
视图(views)
firewalld
gzip
快捷键
kernel
xdebug
错误
ckeditor
mbstring
C语言
简介
源地址
php扩展
电脑基础
certbot
git
apt
压缩解压
表单
电子秤
httpd
WireGuard
邮件验证
breadcrumb
AI
superfish
diff
重定向
网站备份
摄影
tagclouds
docker
java
csharp
短信验证
adsense
drupal9
电脑技巧
simple_adsense
算法
RSS
youtube
版本号
JavaScript
badblocks
端口
cookie
VUE
网站运营
计算机基础
gimp
form
mod_expires 模块
nginx
zip
http验证
重定向,301
curl
netstat
input
赚钱
ip
dns
RFID
标签优化
drupal11
maven
drupal 11
npm
哈希值
字段
更多
RSS源
本站由阿里云强力驱动,幸运券优惠链接
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号