我是.htaccess的新手,我正在努力制作友好的网址(或漂亮的,SEO友好的网址)。我在.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)
怎么预防这个?我应该使用PHP还是.htaccess?如果是这样,什么是.htaccess解决方案?非常感谢!
答案 0 :(得分:1)
在RewriteRule
之后,旧网址会自动重定向到新网址。就像用户打开product-details.php?title=chair&id=1205
一样,他会自动重定向到product-details/chair/1205
如果有人试图打开它们,那么旧的.php扩展程序网址将无法运行。
并且我不建议将旧网址发送到404 page
,因为这会给用户留下错误的印象而不利于SEO
。