.htaccess 301重定向,如果页面有一个斜杠

时间:2014-11-25 15:03:32

标签: .htaccess

让我说我的域名页面是 www.website.com/about 然后用户放置 www.website.com/about/(最后一个斜线)

它返回同一页面,很棒。但是,搜索引擎可能会将此视为重复内容,因为它可能被视为2页。

如果用户在页面末尾放置一个斜杠,我希望他们将301重定向到正确的页面。

我的.htaccess文件看起来像这样

    # Begin cache control #
    ExpiresActive on
    ExpiresDefault "now plus 1440 minutes"
    ExpiresByType text/html "now plus 1440 minutes"
    <FilesMatch "\.(css|png|bmp|ico|htm|gff|html|js|jpg|jpeg|gif|gcf)$">
    FileETag MTime Size
    ExpiresDefault "now plus 1440 minutes"
    </FilesMatch>


    # End cache control #
    Options +FollowSymLinks -MultiViews


    AddOutputFilterByType DEFLATE text/html image/png image/jpeg image/jpg text/css text/javascript 
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    ## hide .php extension
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
    RewriteRule ^ %1 [R,L,NC]
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^(.*?)/?$ $1.php [L,NC]

有没有人知道如何实现这一点,因为我尝试的一切都无法发挥作用。

1 个答案:

答案 0 :(得分:0)

您可以在最后一条规则之前插入此规则以删除尾部斜杠:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=302,NE,L]