为啥我无法访问本地 XAMPP 上的某些页面或目录?

Posted

技术标签:

【中文标题】为啥我无法访问本地 XAMPP 上的某些页面或目录?【英文标题】:Why I can't access some pages or directories on my localhost XAMPP?为什么我无法访问本地 XAMPP 上的某些页面或目录? 【发布时间】:2021-08-18 09:39:26 【问题描述】:

首先,我已经在网上挖了,但找不到解决办法。

以下是我对我的网站所做的操作以及我的分步问题:

    我的 XAMPP 中有一个项目正在运行

(将本地主机编辑为 127.0.0.1:80)

(将 htdocs 编辑到我的工作区文件夹)

    我尝试为我的网站设置一个htaccess 文件只是为了删除 phphtml 扩展:

这里你可以看到它的内容:

RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
    我还有 Visual Studio 的 Live Server 插件,它生成随机数量的 端口。 (可能会干扰?) 有时我可以访问index.php,有时我没有。 我一直无法访问/icons/... 目录。

我真的需要一个认真的帮助,否则我可能会因为失去我的项目而发脾气:(

提前向求解器表示最衷心的感谢

【问题讨论】:

感谢分享您的代码,能否请您提及您要重定向/重写的从哪个网址到哪个网址?这将帮助我们帮助你,干杯。 @RavinderSingh13 感谢您的回复,但我解决了问题(请参阅我标记为答案的回复)。非常感谢 【参考方案1】:

您发布的重写配置毫无意义。重写引擎应该如何决定使用哪个规则?你认为它会神奇地猜到吗?

看看这个,找出区别:

RewriteEngine On

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME.html -f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

更好的变体是:

RewriteEngine On

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME.php -f
RewriteRule ^ %REQUEST_URI.php [END]

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME.html -f
RewriteRule ^ %REQUEST_URI.html [END]

一般来说:你应该总是喜欢在实际的 http 服务器的主机配置中实现这样的规则。分布式配置文件(“.htaccess”)有许多缺点,只有在没有其他替代方案的情况下才应该使用它们(阅读:如果您使用廉价的托管服务提供商并且无法访问真实配置)。

【讨论】:

非常感谢。不幸的是,我从来没有机会或时间了解 http 服务器的主机配置。但显然这对我来说是一个损失,我要深入研究它。再次感谢。 不客气。但是我想指出,您很可能错过了我的最后陈述。这里使用的这种重写规则可以在不同的位置实现,在服务器的主机配置文件或分布式配置文件中。但它们是相同的规则(或多或少......)。

以上是关于为啥我无法访问本地 XAMPP 上的某些页面或目录?的主要内容,如果未能解决你的问题,请参考以下文章

禁止在 xampp , Windows 上本地访问某些文件

我无法使用 xampp 访问我的本地主机

PHP 在xampp中为项目访问配置本地域名的方法

XAMPP 上的 CodeIgniter - 403/404 访问图像时出错

无法从本地网络上的 Web 服务器访问 localhost

XAMPP非本地访问被拒绝解决办法