2

データベースに保存されている記事のID(GET変数から)を取得し、それを使用して、タイトル、作成者、コンテンツなどのすべてを表示するphpファイルがあります。
それが発生すると、URLは次のように表示されます。

localhost/inicio.php?id=1  

ここで、id=1はデータベース内の記事IDです。しかし、私はそれを示したい:

 localhost/this-is-the-article  

.htaccessを編集して、次のようにURLを書き換える必要があることはわかっています。

RewriteEngine on  
RewriteRule ([a-zA-Z0-9_-]+) inicio.php?id=$1 

この時点で、私が理解していないのは、URLを書き換えるためにIDを取得するときに記事を表示するphpファイルの上部で何をすべきかです$_GET['id']。IDが異なると、書き換えられたURLが変わることを念頭に置いてください。同様に、例えば、このように

localhost/this-is-another-article
4

2 に答える 2

1

フィールドを作成urlし、次のように直接 URL を保存します

this-is-article
this-is-another-article
.... so on

urlの代わりに渡しますid

localhost/inicio.php?url=this-is-article
localhost/inicio.php?url=this-is-another-article

じゃあ書き直して…

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ /inicio.php?url=$1

今すぐアクセスしてください

localhost/this-is-article
localhost/this-is-another-article
于 2013-03-19T12:44:43.783 に答える
0

基本的に必要なのは、URL をデータベースに保存し、id ではなく、それに基づいてリターン フェッチを行うことです。

これは、書き換えコードを記述する .htaccess ファイルに ID と URL をマップする方法がないためです。したがって、.htaccess は次のようになります。

RewriteEngine on
RewriteRule ^(.*)$ /inicio.php?article_url=$1

PHP コードでは、この新しく作成された $_GET["article_url"] 変数を使用して、データベースから情報を取得するだけです。

于 2013-03-19T12:47:17.417 に答える