我剛剛完成了 Udemy 課程,在 localhost 上一切正常。為了在 Heroku 上部署,我在根文件夾中添加了一個(gè)額外的 index.php 文件,因?yàn)?Heroku 無(wú)法“看到”公共文件夾中的 index.php 文件。所以我只是簡(jiǎn)單地添加include 'public/index.php';到新的 index.php 文件中。到目前為止,該站點(diǎn)現(xiàn)在已加載。但是,導(dǎo)航欄中的鏈接不再起作用。您將在下面的導(dǎo)航欄代碼中看到,我在我的配置文件中使用了變量 URLROOT(這在 localhost 中有效),但是由于我添加了 index.php,事情發(fā)生了變化,并且在單擊時(shí)出現(xiàn) 500 Internal Server Error鏈接。 <div class="collapse navbar-collapse" id="navbarsExampleDefault"> <!-- home and about page links on left of navbar --> <ul class="navbar-nav mr-auto"> <li class="nav-item"> <a class="nav-link" href="<?php echo URLROOT; ?>">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="<?php echo URLROOT; ?>/pages/about">About</a> </li> </ul> <!-- register and login links on right of navbar --> <!-- Contains php if to show/hide navbar options --> <ul class="navbar-nav ml-auto"> <?php if (isset($_SESSION['user_id'])) : ?> <li class="nav-item"> <a class="nav-link" href="#">Welcome, <?php echo $_SESSION['user_name']; ?></a> </li> <li class="nav-item"> <a class="nav-link" href="<?php echo URLROOT; ?>/users/logout">Logout</a> </li> <?php else : ?> <li class="nav-item"> <a class="nav-link" href="<?php echo URLROOT; ?>/users/register">Register</a> </li> <li class="nav-item"> <a class="nav-link" href="<?php echo URLROOT; ?>/users/login">Login</a> </li> <?php endif; ?> </ul> </div>我嘗試/app在 URLROOT 之后添加到文件路徑的前面,因?yàn)檫@是存儲(chǔ)所有內(nèi)容的文件夾。但我仍然得到錯(cuò)誤。我還嘗試將 /app 添加到配置文件中 URLROOT 變量的末尾,但這完全破壞了事情。配置文件...<?php// App root define('APPROOT', dirname(dirname(__FILE__)));// URL Rootdefine('URLROOT', 'http://localhost/php-share-posts');//Site name作為一個(gè)曲線(xiàn)球,有一個(gè) htaccess 文件可能在其中發(fā)揮作用,停止讀取 app 文件夾內(nèi)的路徑?這是一個(gè)猜測(cè),很可能是錯(cuò)誤的。HTAccess 文件...<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L]</IfModule>我究竟做錯(cuò)了什么?
2 回答

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
您不應(yīng)該使用重寫(xiě)或包含來(lái)執(zhí)行此操作。
您可以告訴 Apache 或 nginx 指向 Procfile 中的公用文件夾。
對(duì)于 Apache,web: vendor/bin/heroku-php-apache2 public/
可以解決問(wèn)題。有關(guān)更多詳細(xì)信息,請(qǐng)參閱https://devcenter.heroku.com/articles/custom-php-settings#setting-the-document-root。

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
問(wèn)題是一個(gè) htaccess 文件,它重定向到我在開(kāi)發(fā)階段使用的完整文件路徑。上傳到 Heroku 時(shí),只需將其定向到公用文件夾即可。問(wèn)題解決了。
- 2 回答
- 0 關(guān)注
- 133 瀏覽
添加回答
舉報(bào)
0/150
提交
取消