これを達成するにはいくつかの方法があります。現在の PHP で最も簡単な方法は、リンクを次のように変更することです。
http://example.com/items/id-itemsname
http://example.com/id-username
したがって、実際の例は次のようになります。
http://example.com/items/192-Wash-Machine
http://example.com/feedback/146-Jon-Lin
そして、このルールを使用して簡単に変換できます。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^items/([0-9]+)-.*$ /item.php?act=view&id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^feedback/([0-9]+)-.*$ /feedback.php?id=$1 [L]
このようにして、タイトルを完全に無視して ID だけを取得し、ユーザーにタイトルを表示しながら現在のスクリプトを使用できます。
別の方法は、あなたが言及したようなもので、次のようになります。
http://example.com/items/itemsname
http://example.com/feedback/username
次に、フィードバックと項目を名前で検索するように PHP を変更する必要があるため、次のようになります。
http://example.com/item.php?act=view&name=Wash Machine
http://example.com/feedback.php?username=Jon Lin
そして、ルールは次のようになります。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^items/([^/]+)/?$ /item.php?act=view&name=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^feedback/([^/]+)/?$ /feedback.php?username=$1 [L]