.htaccess 重定向和可见 URL

.htaccess redirect and visible URL

我是 htaccess 的新手,我想知道我该如何做这两件事,是否推荐它们,或者是否有另一种更好的方法来实现 SEO 友好和漂亮 URL:

  1. 从 www.example.com/products?id=car 重定向到 example.com/car 。如果您能告诉我对 SEO 友好的最佳方法,那就太好了(301 或其他)。
  2. 始终显示 url 示例。com/car 作为一个漂亮的 url 而不是带有符号,即使在单击重定向到 www.example 的 link 时也是如此.com/products?id=car.

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /example/

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /products(?:\.php)?\?id=([^\s&]+) [NC]
RewriteRule ^ %1? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ products.php?id= [L,QSA]