PHP 的 XAMPP 预览重定向到主网站



我最近让第三方承包商编辑了我的网站,因此您不再在每个URL的末尾看到".php"。我假设他用 .htaccess 改变了一些东西,尽管自从这份工作以来我一直无法得到他的回复。从那时起,如果我想预览我的网站以进行编辑,XAMPP 运行"本地主机/文件名"会将我重定向到我的主要在线网址。我可以使用我的 xampp 设置或 .htaccess 进行任何更改,以允许我在上传前查看次要编辑的预览?我不是Apache或.htaccess文件的专家。 提前谢谢你。

编辑答案: 所以这不是一个.htaccess问题。这比我想象的要复杂一些。我的同事帮助我完成的最简单的解决方案如下-

首先,我使用本教程编辑了我的主机文件:https://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/?fbclid=IwAR3d5pnrWgOdutlcrtThAzpIQSTteESgi6p6eWoPLaE_IPN-C1jZegLJBBI

在我的主机文件中,我只是把

127.0.0.1       yourmodel-local.com.

其次,我打开了Apache配置文件"httpd.conf",在"ServerName localhost:80"行下的文件中,我添加了以下内容:

<VirtualHost yourmodel-local.com:80>
DocumentRoot "C:/xampp/htdocs/yourmodel/"
ServerName yourmodel-local.com

所以现在运行 XAMPP 后,我可以使用该 yourmodel-local.com 作为我的预览网址。

从你所说的,.htaccess中可能有一个RewriteRuleRedirect指令。

通常,这些指令用于使用特定域,例如始终使用https版本的 www.site.com。

您应该查找类似于以下内容的行:

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

如果您可以提供 .htaccess 文件代码的那部分,我也许能够指出您需要修改的内容。

更新

查看您提交的 .htaccess 文件后,问题与从托管公司的服务器自动添加到 .htaccess 的行有关。包含字符串(如.well-known/acme-challenge(的行用于生成 SSL 证书。

您的远程 .htaccess 开头有以下三行:

#RewriteEngine On
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^([^.]+)$ $1.php [NC,L]

# 用于注释,表示未使用这些行。

因此,我认为在这种情况下,最简单的解决方案是保持远程.htaccess文件不变,但在本地编辑您拥有的文件以仅包含以下内容:

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

基本上,您的本地 .htaccess 中只有这个,并保持远程原样,因为它也有一些 PHP 配置行,这可能会导致本地开发环境中出现 500 错误。请确保不包含原始的 # 符号。

最新更新