XAMPP预览版PHP重定向到主要网站

时间:2020-06-25 18:25:02

标签: php apache .htaccess xampp

我最近有一个第三方承包商编辑我的网站,所以您不再在每个URL的末尾看到“ .php”。我假设他使用.htaccess进行了一些更改,尽管自从这份工作以来我一直没有得到他的回应。从那时起,如果我想预览我的网站以使用运行“ localhost / filename”的XAMPP进行编辑,则会将我重定向到我的主要在线URL。我可以使用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 Config文件“ httpd.conf”。在该文件的“ ServerName localhost:80”行下,我添加了以下内容:

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

因此,现在在运行XAMPP的情况下,我可以将yourmodel-local.com用作我的预览网址。

1 个答案:

答案 0 :(得分:0)

按照您的意思,.htaccess中可能有一条RewriteRuleRedirect指令。

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

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

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错误。确保不包含原始的#符号。

相关问题