首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用file_get_contents从具有apache .htaccess重写规则的页中刮取html时,将获得404错误。

使用file_get_contents从具有apache .htaccess重写规则的页中刮取html时,将获得404错误。
EN

Stack Overflow用户
提问于 2014-05-25 18:11:01
回答 1查看 1.1K关注 0票数 0

我正在尝试从drupal 7站点抓取渲染的html。但是,由于重写规则,我无法使用file_get_contents或curl或其他任何东西来锁定文件。当试图从我的服务器加载任何本地文件时,我总是得到一个"404文件未找到“错误。

我的站点被设置为作为一个Drupal站点运行--这个站点是从一个名为/drpal3/ .htaccess重写规则的文件夹中提供的:

代码语言:javascript
运行
AI代码解释
复制
RewriteRule ^$ drupal3/index.php [L]

RewriteCond %{DOCUMENT_ROOT}/drupal3%{REQUEST_URI} -f
RewriteRule .* drupal3/$0 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* drupal3/index.php?q=$0 [QSA]

这些规则主要做的是检查一个文件是否存在于德鲁巴3/文件夹中,如果存在,就提供该文件。如果不存在,请检查它是否存在于德鲁巴3/文件夹之外,如果存在,则为其服务。因此,mydomain.com现在指向mydomain.com /drpal3/然而,它仍然以mydomain.com的形式读取,因为它是url。这使得我仍然可以将原始urls保存在服务器上的文件中。

不过,我的问题是,尽管站点行为正确,但php似乎无法遵循重定向规则并提供/打开最终文件。

$html = file_get_contents("http://mydomain.com");给了我failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

我还用CURLOPT_FOLLOWLOCATION = true尝试了curl,但问题相同。

有人能深入了解我如何才能正确地从我的服务器获得页面的HTML内容吗?

干杯

EN

回答 1

Stack Overflow用户

发布于 2014-05-25 19:00:53

可能性1

摘自PHP文档:文件获取内容

如果启用了fopen包装器,则可以将URL用作此函数的文件名。有关如何指定文件名的更多细节,请参见fopen()。请参阅支持的协议和包装器,以获得有关各种包装器具有哪些功能的信息的链接、关于它们的使用的说明以及它们可能提供的任何预定义变量的信息。

因此,确保允许在服务器上使用allow_url_fopen

可能性2

确保服务器能够正确解析域名。尝试获取其他外部站点。如果仍然是404错误,服务器的主机文件有问题。

如果您的两个站点都托管在一台服务器上,则只需在http://localhost/your-drupal-site中使用file_get_contents即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23861822

复制
相关文章
.htaccess的重写规则
.htaccess是Apache服务器的一个非常强大的分布式配置文件。 正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。
Java架构师必看
2021/03/22
2.1K0
Apache URL重写规则
  Apached的重写功能,即是mod_rewrite模块功能,它是apache的一个模块。它的功能非常强大,可以操作URL中的所有部分。
那一叶随风
2018/08/22
3.1K0
Apache URL重写规则
HTML源码,动态幽灵404错误页,跟随鼠标
网上看到的,感觉还不错,就扒过来了。幽灵会有浮动动画,跟随鼠标动画。 演示地址:http://code.cozv.cn/html/1/
程序员纬度
2021/03/02
1.8K0
如何在CentOS 7上为Apache设置mod_rewrite
Apache是一个模块化Web服务器,允许您通过启用和禁用模块来自定义其功能。这使管理员能够定制Apache的功能以满足其Web应用程序的需求。
SQL GM
2018/10/19
5.7K0
如何在Debian 9上使用mod_rewrite为Apache重写URL
Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。
楠宝宝
2018/11/15
5.3K0
.htaccess文件常用功能总结 【原创】
.htaccess文件常用功能总结 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian Email: sunjianfeng@csxiaoyao.com QQ: 1724338257 目录导航 .htaccess文件常用功能总结 1. apache中启用.htaccess 2. 时区设置 3. 显示/隐藏目录列表 4. 访问控制 5. 重定向 6.
CS逍遥剑仙
2018/04/28
1.7K0
如何在Ubuntu 18.04上使用mod_rewrite for Apache重写URL
Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。
水门
2018/10/19
4.7K0
如何在Debian 8上使用mod_rewrite为Apache重写URL
在本教程中,我们将激活并学习如何使用Apache 2的mod_rewrite块管理URL重写。该模块允许我们以更干净利落的方式重写URL,将人们可读的路径转换为代码友好的查询字符串或根据其他条件重定向URL。
陈树丶
2018/08/09
4.7K0
Apache中 RewriteRule 规则参数介绍
大家好,又见面了,我是你们的朋友全栈君。Apache中 RewriteRule 规则参数介绍
全栈程序员站长
2022/08/27
12.3K0
Apache之Rewrite和RewriteRule规则梳理以及http强转https的配置总结(完整版)
一. 简单实例介绍 一般来说,apache配置好http和https后,如果想要做http强转到https,需要设置url重定向规则,大致需要下面几个步骤即可完成配置:
洗尽了浮华
2018/09/28
32.1K0
如何在Ubuntu 14.04上为Apache设置mod_rewrite
在本教程中,我们将激活并学习如何使用Apache2 mod_rewrite模块管理URL重写。这个工具允许我们以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。
无敌小笼包
2018/10/19
2.6K0
山顶洞人404错误页
图片 HTML <!DOCTYPE html> <html lang="cn" > <head> <meta charset="UTF-8"> <title>404 error</title>
Dabenshi
2023/05/26
3060
山顶洞人404错误页
宝塔安装EduSoho【基于Nginx+php+mysql】
网上有很多教程,但是均是使用Apache来进行安装的,这种方式很显然并没有Nginx那么好。Nginx安装需要对配置文件进行一些相应的修改。
华创信息技术
2019/11/08
2.9K0
宝塔安装EduSoho【基于Nginx+php+mysql】
前端开发中的几种资源重定向方法
嗯,但是为嘛需要这么做呢...... 这道题面试中也真有很多稀里糊涂做完类似的项目,却答不上来的小伙伴,那你自个儿寻思去吧~
江米小枣
2020/06/15
2.6K0
宝塔面板上的安装Nginx的配置路径问题
如:网站:http://pt.xdr630.top/ 配置 pt.xdr630.top.conf
兮动人
2021/06/11
4.1K0
宝塔面板上的安装Nginx的配置路径问题
Nginx/Apache之伪静态设置 - 运维小结
一、什么是伪静态 伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟"?"加参数来读取数据库内不同资料,伪静态就是做url重写操作(即rewrite)。很典
洗尽了浮华
2019/05/25
12.9K0
一些Apache环境常用的.htaccess伪静态规则范例
为了实现网站的SEO优化,或者实现用户需求,会用到一些伪静态规则,下面整理了一些Apache服务器常用的 .htaccess 伪静态规则。 第一、强制www域名301跳转 RewriteEngine on RewriteCond %{HTTP_HOST} ^w3h5\.com [NC] RewriteRule ^(.*)$ https://www.w3h5.com/$1 [L,R=301,NC] 我们将域名替换成自己的域名即可实现非WWW跳转到WWW域名。 第二、强制非WWW域名301跳转 Rewrite
德顺
2019/11/13
2K0
html css制作404页面,CSS3绘制404页面
transform: matrix(0.642788,-0.766044,0.766044,0.642788,0,95);
全栈程序员站长
2022/09/18
1.8K0
html css制作404页面,CSS3绘制404页面
Htacess文件
发表评论 1,045 views A+ 所属分类:技术 .htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文
用户1127987
2018/06/04
7560
.htaccess伪静态规则
Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
阿珏
2018/08/02
5.6K0

相似问题

.htaccess重写规则404错误

11

Apache docker容器- .htaccess重写规则404

11

简单htaccess重写规则错误404

23

FollowSymlinks .htaccess重写规则404错误

40

.htaccess重写规则显示未找到404页

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档