PHP スクリプトに問題があるため、リンクは次のようになりますpage.php?id=1412
。
しかし、を使用してデータを取得したくありません$_GET['id']
。プログラムがこのような URL を認識し、データベースのフィールドでlocalhost/1412
検索しようとする方法はありますか?1412
id
可能であればNot Found page ?
、フォルダー1412が存在しないため、どうすれば回避できますか?
この種のマッチングのすべてについて、apache の .htaccess ファイル、または nginx/lighthttpd などの構成ファイルに実装されている同様の機能のいずれかを使用する必要があります。基本的には、 x/1412 のようなリクエストが来たら、php エンジンにディスパッチする前に照合して、内部で x?id=1412 に変換できます。その他の解決策として、すべてのリクエストをフロント コントローラー (アプリケーションへの単一のエントリ ポイントとして機能するスクリプト) にリダイレクトし、URL マッチャーにルートを一致させて実行させる方法があります。後者は、ほぼすべての大小の php フレームワークに実装されています。
現在の uri ($_SERVER['REQUEST_URI']) を正規表現できます。正規表現の作成については、PHP URL Regex and Parameterを参照してください。
.htaccess ファイルは解決策です。このタイプの URL にアクセスし、.htaccessファイルを使用して値を php ファイルに送信できます。これを行うには、この素敵な記事を参照してください。
http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/