我正在向现有 CMS 添加“漂亮”URL,菜单是自动生成的,新的“漂亮”URL 将作为单独的模块独立处理。自动生成的菜单总是有看起来像这样的 URLs index.php?menu_id=n
我们当然希望看到它。 /news
或 /products
我目前正处于必须决定是要重写当前系统的所有输出还是简单地放置一个钩子(Hook)以重定向到“漂亮”URL 的地步。
换句话说,我是否应该连接到数据库,获取所有“漂亮”的 URL,遍历所见即所得、新闻模块、论坛等的现有输出,并进行一些 str_replace 或其他字符串操作(我认为这将是一个相当乏味和无聊的过程),或者我应该简单地连接并抛出一个 301 重定向 index.php?menu_id=3
到 /news
将谷歌(或其他搜索引擎) ) 惩罚我在菜单中有 301?
最佳答案
301 是永久重定向,搜索引擎理解它们。他们不会因为 301 而惩罚你。
我的建议 - 两者的结合。对于您控件中的页面,修改 url。对于您无法控制的内容(第三方博客、其他网站等)和您自己的难以控制的页面,301 应该没问题。
301 也有性能方面的影响,因此请尽可能避免使用它们。但如果您别无选择,也没关系。
关于php - 301 与内联重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2719563/