1

URLページごとに変更する必要があります。私Titleは次のような URL を持っており、宇宙エネルギーを感じる方法がページのものであるようhttp://yourdomain.com/showBest.html?id=42に、それを作成する必要があります。すべてが言うことができます、私は使用してページのから Web URl を接続する必要がありますhttp://yourdomain.com/how-to-feel-cosmic-energy.htmlTitleTitle.htaccess

4

2 に答える 2

0

http://www.cyberdesignz.com/blog/website-design/url-rewriting-top-5-ways-of-php-url-rewriting/から、以下はそれを書くための最適ではない方法です。ただし、これには最小限の作業が必要です。.htaccessでは、次を使用します。

RewriteEngine on

RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)\.html$ showBest.html?id=$2

これはに変換how-to-feel-cosmic-energy/12.htmlされshowBest.html?id=12ます。

また、PHPコードを変更する必要はありません。単純化は、このルールがページタイトルとIDの両方を含めることによって不正を行うためです。したがって、書き換えルールはデータベースを調べる必要はありません。


より良い方法は次のとおりです。

RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+)$ showBest.html?title=$1

RewriteRule ^([a-zA-Z0-9_-]+)/$ showBest.html?title=$1

これはに変換how-to-feel-cosmic-energy.htmlされshowBest.html?title=how-to-feel-cosmic-energyます。

ただし、この方法では、PHPを変更する必要があります。したがって、IDでレコードを検索する代わりに、タイトルで検索する必要があります。

例えば。変化する

mysql_query("SELECT * FROM pages WHERE id = " + mysql_escape_string($id))

mysql_query("SELECT * FROM pages WHERE title = '"
            + mysql_escape_string($title) + "'")

または同様のもの(正確なPHPコードによって異なります)。

于 2012-08-21T05:48:42.260 に答える
0

これを行うためのフレームワークがない場合は、スクリプトを作成してページ タイトルを取得し、それらをページ ID に変換する (データベース内のルックアップなどを使用) か、RewriteMap を使用してtitle->id マッピング

これは単純ないくつかの書き換えルールの問題ではありません。

于 2012-08-21T05:43:47.907 に答える