如何重写规则,然后使用.htaccess重定向301

时间:2018-01-20 08:20:32

标签: php apache .htaccess mod-rewrite

我想摆脱.php并创建一个SEO友好的网址。这是场景:

examplesite.com/platform/sign-in.php应在examplesite.com/platform/login /

中显示/访问

以下规则可以实现这一点。现在,我只需访问examplesite.com/platform/sign-in.php

即可访问examplesite.com/platform/login/
RewriteRule    ^platform/login/?$    platform/sign-in.php [NC,L]

examplesite.com/platform/login/现在是我的登录页面,但此页面examplesite.com/platform/sign-in.php保持不变。我也可以访问examplesite.com/platform/sign-in.php。 因此,我尝试使用此重定向将用户重定向到examplesite.com/platform/login/,如果他们访问examplesite.com/platform/sign-in.php

Redirect 301    /platform/sign-in.php /platform/login/

现在,当我访问examplesite.com/platform/sign-in.php时,它显示重定向太多并且没有加载任何内容。

如何解决这个问题? examplesite.com/platform/sign-in.php应自动重定向到examplesite.com/platform/login/

1 个答案:

答案 0 :(得分:2)

试试这个:

RewriteRule ^platform/login/?$ /platform/sign-in.php [NC,L]

RewriteCond %{THE_REQUEST} \s/platform/sign-in.php
RewriteRule ^platform/sign-in.php /platform/login/ [NC,R=301,L]