私は、ユーザーがテキストフィールドに長いURLを入れて、送信ボタンをクリックするとDBに長いURLを挿入してショートを表示するURLショートナーコードを作成しました私のlocalhost上で完璧に動作しているユーザへのURL。URL Shortner Codeはローカルホストでは問題なく動作していますが、ウェブサイトでは動作しません
しかし、私はそれをオンラインでアップロードしても動作しません。データはDBをオンラインで挿入していますが、ショートURLが表示されますが、アドレスバーにURLを入力するとThe Site Cant Be Reached server DNS address could not be found.
と表示されます。 私の.htaccessファイルに関連していると思います。これは私のindex.phpファイルである
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?r=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?r=$1
:
これは私の.htaccessファイルであるチャットルームで議論したように
<?php
include 'config.php';
if(isset($_GET['r']) || !empty($_GET['r']))
{
$url_id = $_GET['r'];
$sql = "SELECT long_url FROM url_shortner WHERE url_id = '$url_id'";
$result = mysqli_query($con,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) == 1)
{
$l_url = $row['long_url'];
header('Location:' .$l_url);
}
else
{
header('Location: index2.php');
}
}?>
サーバーはApacheを使用していて、mod_rewriteが有効になっていますか? –
はい有効な@MagnusEriksson –
Btw ...あなたは[SQL Injections](http://php.net/manual/en/security.database.sql-injection.php)を広く利用していますので、[Prepared Statements ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)をクリックしてください。特にユーザー入力をエスケープしていないからです。 –