0

私のサイトにはこのようなURLがあります

http://www.mydomain.com/index.php?page=doctors&docid=99

SEO 書き換えの使用

RewriteRule ^doctors/([0-9]+)/(.*).html$ index.php?page=doctors&docid=$1 [L]

私は得る

www.mydomain.com/doctors/13/Dr.-John-Smith.html

しかし、私はこのようなよりフレンドリーなURLが欲しい

www.mydomain.com/Dr.-John-Smith.html

この URL にアクセスするにはどうすればよいですか。

4

1 に答える 1

0

クエリ文字列の書き換え

既存の Web サイトをゼロから再作成するために雇われた場合、URL 書き換えを使用して、古い Web サイトで最も人気のある 20 個の URL を新しい Web サイトの場所にリダイレクトすることができます。これには、prod.php?id=20 のようなものを products/great-product/2342 にリダイレクトすることが含まれ、それ自体が実際の製品ページにリダイレクトされます。

Apache の RewriteRule は URL のパスにのみ適用され、id=20 のようなパラメーターには適用されません。このタイプの書き換えを行うには、Apache 環境変数 % を参照する必要があります{QUERY_STRING}。これは次のように実行できます。

RewriteEngine On
RewriteCond   %{QUERY_STRING}           ^id=20$                   
RewriteRule   ^prod.php$             ^products/great-product/2342$      [L,R=301]
RewriteRule   ^products/(.*)/([0-9]+)$  ^productview.php?id=$1             [L]

この例では、最初の RewriteRule によって、古い Web サイトの URL から新しい Web サイトの URL への永続的なリダイレクトがトリガーされます。2 番目のルールは、新しい URL を製品を表示する実際の PHP ページに書き換えます。

これがお役に立てば幸いです。リライトについて詳しくは、http: //coding.smashingmagazine.com/2011/11/02/introduction-to-url-rewriting/をご覧 ください。

それはかなり簡単な方法でレイアウトされています。ご不明な点がございましたら、お気軽にお問い合わせください。ありがとうございました。

于 2013-04-24T22:00:44.310 に答える