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

Can we use dynamic link without a firebase hosted webpage?

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

方案二。 我重写了代码。但是用哪种语言呢? 我不想使用云功能。我想使用例如 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 . "" . "\r\n" . "Reply-To: " . $from . "" . "\r\n" . 'X-Mailer: PHP/' . phpversion();
    mail($to, $subject, $message, $headers);
    
    header('location:contact-us.php?success=yes');
}
?>

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

Firebase 提供免费 <subdomain>.page.link 域供您使用 [2]. You can also setup dynamic links with a custom domain at <subdomain>.yourdomain.com or <subdomain>.yourdomain.com/path[3],它使用 Firebase 托管。

如果您想将整个网站切换到 Firebase 托管以利用我们的其他功能(如 CDN),您可以将 PHP 网站设置为 运行 on Cloud 运行 [4], and setup a rewrite to it using Hosting [5].