重写、重定向并避免重复内容

Rewrite, Redirect, and avoid duplicate content

我正在尝试使用 .htaccess 重定向单个页面。实际文件是 /abc.php,我希望它显示为 /abc。所以这些是我的伪规则:

出于 SEO 目的,只能使用 /abc/abc.php 之一。

我天真的做法是这样的:

Redirect 301 /abc.php /abc
RewriteRule ^abcs$ /abc.php [NC,L]

这会导致无限循环重定向。我该如何正确执行此操作?

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

RewriteEngine On
RewriteBase /

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

# internal forward from pretty URL to actual one
RewriteRule ^(abc)/?$ .php [L,NC]