【发布时间】:2017-12-26 14:47:08
【问题描述】:
我是 .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)
如何防止这种情况?我应该使用 PHP 还是 .htaccess?如果是这样,.htaccess 解决方案是什么?非常感谢!
【问题讨论】:
-
您可以简单地将旧 URL 重定向到 PHP 本身的新 URL?为什么要将它们发送到 404?
-
@AmitGupta 因为我想严格隐藏 .php 扩展名和格式
-
是的,当您将旧页面重定向到新页面时,不会出现 URL 扩展
-
表示 product-details.php?title=chair&id=1205 到 product-details/chair/1205
-
@AmitGupta 不,但他们会知道他们输入了正确的 URL
标签: php .htaccess url mod-rewrite