基本上我在我的网站上工作是为了对 SEO 友好。我想实现以下目标:
- 将 url 重写为漂亮的
- 删除多个斜杠(
example.com/////something///
例如example.com/something/
- 将 www 版本重定向到非 www 版本。
- 隐藏所有 url 中的 index.php 文件
- 从旧网址重定向(
/?id=something/
到新网址/something/
)
我想出了这段.htaccess
代码:
RewriteCond %{THE_REQUEST} //
RewriteRule .* $0 [R=301]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteCond %{QUERY_STRING} ^id=([a-z0-9\/-]+)
RewriteRule ^(.*)$ http://example.com/%1? [R=301]
RewriteRule ^index.php(.*)$ /$1 [R=301]
RewriteRule ^([a-z0-9\/-]+)$ /?id=$1 [L]
...虽然它正在工作,但它有一个副作用:链重定向,例如。example.com/?id=something//////
-> example.com/something//////
->example.com/something/
那么有没有办法重写或修改此代码,以便它只重定向一次到 URL 的首选版本?