在重写后阻止用户使用旧URL浏览网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在重写后阻止用户使用旧URL浏览网站相关的知识,希望对你有一定的参考价值。

我是.htaccess的新手,我正在尝试制作友好的URL(或漂亮的,SEO友好的URL)。我在.htaccess上做了以下事情:

- 删除所有文件上的.php扩展名。 - 重写产品详细信息页面如下:

RewriteRule ^product-details/([a-zA-z0-9_-]+)/([0-9]+)$ product-details.php?title=$1&id=$2 [L]

但是,当我转到URL栏并输入带有.php扩展名的文件名时,它仍然有效。我希望它将用户重定向到404.php页面。此外,通过产品详细信息页面,我输入旧的URL格式,它也可以。

插图:

index => index.php (Works)
product-details/chair/1205 => product-details.php?title=chair&id=1205 (Works)
How to prevent this? Should I use PHP or .htaccess? If so, what is the .htaccess solution? Thanks a lot!
答案

RewriteRule之后,旧的URL会自动重定向到新的URL。就像用户打开product-details.php?title=chair&id=1205一样,他会自动重定向到product-details/chair/1205

即使有人试图打开它们,旧的.php扩展URL仍然无法运行。

我不建议将旧网址发送到qazxsw poi,因为这会给用户留下错误的印象而对qazxsw poi不利。

以上是关于在重写后阻止用户使用旧URL浏览网站的主要内容,如果未能解决你的问题,请参考以下文章

转载 .htaccess文件RewriteRule语法规则

阻止浏览器保存 URL

如何阻止360浏览器访问指定网站?

如何阻止用户直接访问IIS中的网站上的文件

如何阻止对网站的root访问权限,只允许带有路径的请求

PHP:使用 web.config 重写 URL