SEO の目的で、製品のクリーンな URL リンクを作成することにしました。これにより、顧客はリンクをよりよく覚えることができます。私は何時間も調査してきましたが、クリーン URL リダイレクトとダーティ URL リダイレクトの概念を完全には理解していません。この件に関しては、もっと単純なドキュメントが利用できると思うでしょう。
私は .htaccess ファイルを以下のように構成しており、ユーザーが入力したクリーンな URL または www.example.com\Category\Subcategory\ などのクリーンなリンクを取得し、それを .php ファイルにリダイレクトして MySQL テーブルにアクセスし、表示するために完全に機能しています。製品情報。
私が理解できないのは、ブラウザでユーザーに表示されるクリーンな URL を維持し、ダーティまたはリダイレクトされた URL を表示しない方法です。それは .htaccess ファイルで達成されますか?
明確にするために:
顧客が www.example.com\shoes\running と入力すると、.htaccess はクリーン URL を subcat_lookup_clean.php?c=$1&s=$2 にリダイレクトします。これは基本的にクリーン URL を処理し、適切な情報を検索して動的に表示します。
しかし、顧客のブラウザには www.example.com\subcat_lookup_clean.php?c=$1&s=$2 が表示されます。
代わりに、クリーンな URL www.example.com\shoes\running を見てもらいたいと思います。
.htaccess ファイルには以下が含まれます。
Options +FollowSymLinks
RewriteEngine On
# do not do anything for already existing file, symbolic link or directory
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]
# redirect category/subcategory to lookup page
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ ./subcat_lookup_clean.php?c=$1&s=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ ./subcat_lookup_clean.php?c=$1&s=$2 [L]