我们可以在没有firebase托管网页的情况下使用动态链接吗



这可能是一个奇怪的问题,但首先让我谈谈我的问题。我有一个用php编写的联系表格。在我完成这项工作后,我发现firebase不支持php代码。所以我需要一个解决方案。在这种情况下,我只是用另一台服务器托管我的网站。这里的问题是我使用动态链接。那么,有没有可能在firebase上不托管的网页上使用动态链接?

解决方案2。我重写了代码。但是用哪种语言呢?我不想使用云功能。例如,我想使用javascript。这可能吗?

如果您还有其他解决方案,请将它们写在下面。感谢您回答问题。

这是我的代码


<section id="page-details">
<div class="container">
<div id="contact-details" class="full-width">
<div class="one-third">
<div id="contact-us-form" class="grey-corner-box">
<form action="contact-from-handler.php" method="post" class="contact-form init" novalidate="novalidate" data-status="init">
<fieldset>
<legend>
<div>
<span class="bold">Drop</span> us a line
</div>
<?php
$contact_name = $contact_email = $contact_website = $contact_message = '';
if(isset($_REQUEST['error']))
{
$contact_name    = $_REQUEST['contact_name'];
$contact_email   = $_REQUEST['contact_email'];
$contact_website = $_REQUEST['contact_website'];
$contact_message = $_REQUEST['contact_message'];
}
?>
<?php if(isset($_REQUEST['error'])) { ?>
<div style="background:red;color:white;padding:5px;margin:5px 0;clear:both;font-size:14px;">Some required field was missing!</div>
<?php } elseif(isset($_REQUEST['success'])) { ?>
<div style="background:green;color:white;padding:5px;margin:5px 0;clear:both;font-size:14px;">Successfully send your request!</div>
<?php } ?>
</legend>
<ul>
<li class="select-three">
<div>
<label for="input-name">Name:*</label>
<input type="text" name="contact_name" value="<?php echo $contact_name; ?>" size="40" class="form-control default-input" aria-invalid="false">
</div>
<div>
<label for="input-email">E-mail:*</label>
<input type="email" name="contact_email" value="<?php echo $contact_email; ?>" size="40" class="form-control input-email default-input" aria-invalid="false">
</div>
<div>
<label for="input-website">Website:*</label>
<input type="text" name="contact_website" value="<?php echo $contact_website; ?>" size="40" class="form-control default-input" aria-invalid="false">
</div>
</li>
<li>
<div>
<label for="contact_message">Message:*</label>
<textarea name="contact_message" cols="40" rows="5" class="form-control textarea form-control" aria-invalid="false"><?php echo $contact_message; ?></textarea>
</div>
</li>
<li>
<div class="submit-contact default-submit">
<input type="submit" value="Submit" class="submit-btn theme-btn">
</div>
</li>
</ul>
</fieldset>
</form>
</div>
</div>

然后联系我们形成


<?php
if(isset($_POST) && !empty($_POST))
{
$data = $_POST;
$data['email_receiver'] = "emsilll";

$error = FALSE;
if(!$_POST['contact_name'])
{
$error = TRUE;
$field = 'contact_name';
}
elseif(!$_POST['contact_email'])
{
$error = TRUE;
$field = 'contact_email';
}
elseif(!$_POST['contact_website'])
{
$error = TRUE;
$field = 'contact_website';
}
elseif(!$_POST['contact_message'])
{
$error = TRUE;
$field = 'contact_message';
}
if($error)
{
header('location:contact-us.php?error=yes&' . http_build_query($data));
die();
}
$to      = $data['email_receiver'];
$from    = "info@" . $_SERVER['SERVER_NAME'];
$subject = "Subject: " . $data['contact_name'] . "";
$message = "E-Mail: " . $data["contact_email"] . "n" . $message = "Website: " . $data["contact_website"] . "n" . "Message: " . $data["contact_message"];
$headers = "From: " . $from . "" . "rn" . "Reply-To: " . $from . "" . "rn" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

header('location:contact-us.php?success=yes');
}
?>

Firebase动态链接不必与您的网站位于同一域。通常的做法是将它们托管在不同的域或子域上。动态链接的实际web转发地址由link参数[1]指定,不必与动态链接的域相同。

Firebase提供了一个免费的<subdomain>.page.link域供您使用[2]。您还可以在使用Firebase Hosting的<subdomain>.yourdomain.com<subdomain>.yourdomain.com/path[3]上设置与自定义域的动态链接。

如果您想将整个网站切换到Firebase Hosting以利用我们的其他功能(如CDN(,您可以将您的PHP网站设置为在Cloud run[4]上运行,并使用Hosting[5]对其进行重写。

最新更新