首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

htaccess无法将文章id重定向到用php slug函数生成的文章slug

.htaccess文件是Apache服务器中的一个配置文件,它用于配置网站的重定向、URL重写等功能。在给定的问答内容中,我们需要将文章ID重定向到通过PHP的slug函数生成的文章slug。

首先,我们需要确保网站的.htaccess文件已经存在,并且Apache服务器已经启用了重写模块。

下面是实现这个功能的.htaccess重定向规则:

代码语言:txt
复制
RewriteEngine On
RewriteRule ^article/([0-9]+)/?$ article.php?id=$1 [NC,L]

上述规则的含义是,将形如"article/123"的URL重定向到"article.php?id=123"。其中,"123"表示文章的ID。

在这个例子中,我们使用了正则表达式来捕获文章的ID,并将其作为参数传递给article.php文件。

下面是对上述规则的解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteRule:定义一个重写规则。
  • ^article/([0-9]+)/?$:匹配以"article/"开头,后跟一个或多个数字,最后可以选择性地以斜杠结尾的URL。
  • article.php?id=$1:将匹配到的数字作为参数$id传递给article.php文件。
  • [NC,L]:NC表示不区分大小写,L表示停止后续规则的处理。

通过上述规则,当用户访问"http://example.com/article/123"时,将会被重定向到"http://example.com/article.php?id=123"。

在这个例子中,我们使用了PHP来处理文章slug的生成和显示,同时.htaccess文件用于将用户友好的URL重写为参数化的URL。

腾讯云提供了一个名为云服务器(CVM)的产品,它提供了稳定可靠的云服务器实例,适用于各种Web应用和服务。您可以使用腾讯云的云服务器(CVM)来搭建您的网站,并配置.htaccess文件来实现URL重定向和重写。具体的产品介绍和相关链接地址,请参考腾讯云的官方文档:

  • 产品名称:云服务器(CVM)
  • 产品介绍:https://cloud.tencent.com/product/cvm
  • 文档链接:https://cloud.tencent.com/document/product/213

通过以上配置和产品介绍,您可以实现.htaccess将文章ID重定向到用PHP slug函数生成的文章slug的功能,并了解相关的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

启用WP Super Cache纯代码版本之后一些优化措施

以上问题上一篇文章已有具体说明,下面是最新发现问题: ⑥、居然会缓存评论填表信息; ⑦、缓存清理不够方便; ⑧、缓存没有时间戳; ⑨、发布/更新文章未删除缓存,导致无法显示最新内容; ⑩、开启缓存之后...return $contents; } 使用方法:编辑上一篇文章中所说 cache.php 文件,搜索 function auto_cache()函数,并替换为以上代码即可。...> //触发函数:点击id为clean元素时清理该页面缓存 $(function(){     $("#clean").click(function(){             CleanUp(..."slug": page_slug,             },         //ajax对象文件:cache.php,即上一篇文章静态缓存php文件         url: '/cache.php...③、新增触发按钮 在文章、单页页面,合适位置新增一个按钮或超链接,然后将其 id 改为 clean 即可实现点击该按钮时清理当前页面缓存,比如张戈博客一个图片链接放到了百度分享工具条上(实现全局清理后

1.3K70

移动搜索SEO分享:PHP自动生成百度开放适配及360移动适配专用Sitemap文件

而张戈对于移动适配也是关注已久,写过不少相关文章,现在就来分享一个通过 php 自动生成百度开放适配和 360 移动适配专用 sitemap 文件方法。...> 代码说明: 、以上代码默认限制 1000 篇文章,如需修改请改变第 5 行数值即可; 、涉及张戈博客域名( *.zhangge.net )代码,请根据实际情况修改成自己网站域名;...三、新增函数 请编辑主题目录下 functions.php 文件,插入以下函数代码: /** 开放适配相关函数 **/ function the_sitemaplink() { return esc_url...于是,接下来就是地址伪静态化。 编辑网站根目录 .htaccess 文件,如下代码所示位置新增 8~11 行内容: <Files ~ "^....篇后语:php 代码是动态生成,如此就保证了搜索引擎更新抓取时候,是最新状态!而不会是之前那样苦逼手动去生成和更新!不过,暂时也稍有遗憾,仅仅生成文章页面的对应关系,单页面和分类并未提供!

1.5K60
  • 网站改版换域名后如何保留原排名 SEO优化之301重定向重要性

    使用该插件适用于小批量某些页面或者文章URL修改。...安装插件以后,在工具中找到Redirections, 点击Add New添加一个新重定向,在Source URL 中输入页面的slug,比如我们此文章Slug就是wordpress-301-redirects...网站添加SSL做重定向 因为Google旗下Chrome浏览器默认未添加SSL网站标记为不安全网站,所以网站都需要安装SSL。...通常我们都会通过修改WordPress网站中.htaccess文件来做重定向,只需要在文件中加入以下内容: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule...方法一般也是采用修改.htaccess文件来做重定向,在文件中添加如下内容: RewriteEngine On RewriteCond %{HTTP_HOST

    1.2K30

    python-Django-URL 路由(二)

    如果请求方法是POST,视图函数获取用户提交文章标题和内容,并创建一个新Post对象,然后将用户重定向新创建文章详细页面。...视图函数获取文章slug,并使用get_object_or_404函数从数据库中获取文章对象。然后,视图函数文章对象传递给包含文章详细信息HTML模板。...第三个视图函数是post_edit,它允许用户编辑现有的博客文章。如果请求方法是POST,视图函数获取用户提交文章标题和内容,并更新现有的Post对象,然后将用户重定向更新后文章详细页面。...如果请求方法是GET,视图函数渲染一个包含编辑现有文章表单HTML模板。 最后一个视图函数是PostList,它显示所有博客文章列表,并允许用户创建新博客文章。...这个视图函数使用Django通用视图类CreateView来处理创建新文章表单,然后重定向post_list视图函数,这个视图函数渲染一个包含所有文章列表HTML模板。

    82120

    利用Meta申明来做百度、谷歌、雅虎、微软等搜索开放适配

    980px,所以选择了 1000px,即告诉谷歌,当屏幕宽度小于 1000px 展示移动主题。...Ps:以上可参考之前张戈博客发布相关文章: 移动 SEO 分享:php 自动提交复合型 Sitemap 百度搜索 移动搜索 SEO 分享:PHP 自动生成百度开放适配及 360 移动适配专用...php the_ID(); ?>.html" rel="canonical" /> 以上则为一个完整文章页面的谷歌 meta 开放适配!...本文代码中分类和单页面 url 需要新增一个 function 函数,具体请参考:《完美实现移动主题在 360 网站卫士缓存全开情况下切换》一文中第三步。...添加后,可以首页、文章页、单页面及分类页查看源代码即可查看到如图对应 meta 标注: ?  每种类型页面仅出现对应 meta 标注,则为成功!

    1.2K80

    史上最详细WordPress自定义文章类型指南(1)

    PHP5之后对OOP提供了良好支持。 OOP这个话题内容就太多了,汗牛充栋,值得大书特书,我就不献丑了,本文只涉及OOP中两个基本概念:类和对象。简单介绍如下,知道是啥就够了。 什么是类?...对于 WordPress 普通用户来说,最方便就是在主题文件夹functions.php 中写代码进行各种自定义,执行各种 WordPress 函数,当然也可以在这里注册新文章类型。...推荐一个可以快速生成post type各种参数在线工具:Post Type Generator,按照需求在各个参数填入值,生成代码组织还是比较清晰,把各种参数按照不同用途分类好了,直接把生成代码复制粘贴到你主题中就可以用起来了...WordPress 中伪静态规则会被存储数据库,新文章类型注册之后原有的伪静态并不会自动更新,也就无法识别这个URL,所以就404了。...第二种方法:PHP代码 上面说过,WordPress提供了一个函数flush_rewrite_rules可以用来刷新url规则,所以你也可以在自己主题文章中手动执行这个函数

    4.3K20

    迁移 valine 评论数据至 wordpress 数据库

    利用正则表达式评论数据中那些不需要数据一一项剔除掉,下方存档参考。注意:必须将 ACL 及 insertedAt 两个数据删掉,否则可能影响后续数据转换操作!...关联文章页面 首先我们需要利用 valine 中提供 url 字段来分别匹配 wordpress 数据库中对应文章 slug 别名文章id(也就是把 url 转换为其文章对应 comment_post_ID...' ); // Load WordPress Core // 通过文章别名模糊匹配文章id function get_post_like_slug($post_slug) {...> 完成上述操作后,应该能在wp根目录看到生成 output.json 文件,打开会发现每条 json 对象已经新增对应 comment_post_ID 文章id对象;再之后 output.json...字段 json 文件导入刚加载 sql 文件中(⚠️注意 json 中 comment_date 日期字段如果是 utc 格式需要使用 php 函数 date(‘Y-m-d H:i:s’,strtotime

    12500

    WordPress主题开发基础:Body 类指南

    Body类(body_class)是WordPress函数,可让您将CSS类分配给body元素。 HTML正文标签通常从主题header.php文件开始,该文件会加载到每个页面上。...何时使用WordPress body类 首先,您需要确保主题body元素包含如上所示body类函数。如果确实如此,那么它将自动包括上述所有WordPress生成CSS类。...在向您展示特定例场景之前,我们向您展示如何使用过滤器添加body类,以便每个人都可以在同一页面上。...分类名称添加到单个文章页面的body类中 假设您要根据单个文章分类来自定义它们外观。您可以使用body类来实现此目的 首先,您需要在单个文章页面上将分类名称添加为CSS类。...页面别名添加到body类 将以下代码粘贴到主题functions.php文件中,可以页面的slug别名添加到body类: //Page Slug Body Class function add_slug_body_class

    2.1K20

    WordPress 教程:自定义页面(Page)模板样式

    这势必无法满足我们一些个性需求。 举个例子,一般来说页面的模板就跟文章模板差不多,一个标题加上正文内容和下面评论。...通过 WordPress 主题文件优先级层次图可以得知: page-{id}.php page-{slug}.php 这两种类型命名文件,会覆盖对应页面的默认页面模板。...每个页面都会像文章一样有一个唯一 id 。...例如上图中 id 1689,如果我们想要使用一个页面模板来覆盖默认页面模板的话,那么我们新建模板名称应该是 page-1689.php ,然后把它放在主题根目录下面,注意,是根目录下面,经测试放在子目录下面无法生效...再来刷新一下,成功输出新增加内容,说明方法生效: 如果你对当前页面应用了“别名”(slug),也可以使用 page-{slug}.php 文件名来覆盖,slug 覆盖方法要比 id 方法优先级高

    3.4K30

    WordPress 文章查询教程1:如何使用分类,标签或其他分类模式参数

    「WordPress果酱」通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...)文章: $query = new WP_Query( array( 'category_name' => 'php' ) ); 使用分类 ID 获取含有某个分类(不含该分类下所有子分类)文章:...) ); tag_slug__in 和 tag_slug__and 参数和对应 tag__in 和 tag__and, 一样,只是它们不使用标签 ID,而是标签别名。...三、真正王炸:tax_query tax_query 参数是 WordPress 3.1 版本引进,WordPress 非常复杂多重筛选就是使用它实现,我们通过几个例子讲解怎么实现。...taxonomy (string) – 分类模式. field (string) – 如何获取分类模式(Taxonomy term),可能值有:「term_id」,「name」,「slug」或者「term_taxonomy_id

    1.4K40

    Laravel5.2之Seeder填充数据小技巧

    指令后: 不仅Facade模式Route由之前反白了变为可以定位源码了,而且输入Config Facade时还方法自动补全auto complete,这个很方便啊。...Faker是一个好用生成假数据第三方库,而这个开发插件会自动帮你生成这些属性,不用自己写了。 <?...Laravel官方推荐使用模型工厂自动生成测试数据,推荐这么写: //先输入指令生成database/seeds/CategoryTableSeeder.php文件: php artisan make...可以DB::table()->insert()批量插入,拷贝ModelFactory.php中表字段定义放入每一个表对应Seeder,当然可以有些字段为便利也适当修改对应假数据。...分享下最近发现一张好图和一篇极赞文章文章链接:Laravel中大型專案架構

    3.5K42

    WordPress主题制作(一):主题文件结构

    下面是一个完整主题含有的文件列表,这里我们对这个列表有个初步映像即可: 404.php archive.php author.php category.php comments.php comments-popup.php...主页 front-page.php——静态首页 home.php——动态首页 index.php——默认模板 文章单页 single-{post-type} – {slug} .php——用于显示任意类型单个特定文章...,例如:文章类型为”review”,文章是”hello-word”,那么WordPress寻找single-review-hello-word.php single-{post_type}.php——...index.php 标签归档 tag-{slug}.php——如果标签缩略名为sometag,WordPress将会查找tag-sometag.php tag-{id}.php——如果标签ID为6,WordPress...——显示单个附件 single.php index.php 嵌入页面 从WordPress 4.5开始,可以使用模板渲染嵌入WordPress中文章

    1.9K30

    WordPress免插件生成完整站点地图(sitemap.xml)php代码

    一直以来,张戈博客都是 DX-SEO 这个很好用中文 SEO 插件生成 sitemap。...今天整理电脑文件时,看到了以前收藏生成 sitemap.xml php 脚本,就随手打开看了看,发现这个代码只能生成主页和文章 sitemap。...在这里,我就分享一个自己一直在用最简单实现方法:Linux 定时任务+wget 定时生成 sitemap.xml 具体实现: sitemap.php 放到某个不为人知目录,然后定时使用 wget...如果实在搞不清楚什么是相对路径,那么就用简单粗暴方法:网站根目录 sitemap.php 重命名为一个只有自己知道 php 文件,比如 xml.php,然后如下添加任务: #每天在网站根目录生成一个...四、文章最后 ①、确认无误之后,已开通 sitemap 权限就可以前往百度站长平台提交了,没开通权限可以发送申请邮件百度站长平台管理员邮箱申请,并且 sitemap.xml 使用 a 标签链接在网站底部即可

    1.7K50

    使用 NextJS 和 TailwindCSS 重构我博客

    })), fallback: true //or false }; } 当网站构建后,新写文章也需要生成静态页面,这时就可以fallback 设置为 true, 如果设为 false...{ // 在打包时值生成 `/posts/1` 和 `/posts/2` 静态页面 paths: [{ params: { id: '1' } }, { params: { id:...中id 获取文章详情 export async function getStaticProps({ params }) { // 如果页面的路由是 /posts/1, 这 params.id 值就是...}, //当请求进入时候再次生成文章详情页,比如修改文章重新生成 // 1s 内最多生成1次 revalidate: 1, } } export default Post...喜欢同学可以 fork 一下,免费部署 Heroku 中,Heroku 支持免费 Postgresql 数据库,也可以程序部署 https://vercel.app/ (国内比较快,不支持数据库

    2.3K20

    实现WordPress提交评论时删除该页面的WP-Super-Cache缓存方法

    这篇文章依然是围绕缓存问题展开,lnmp 环境下 WordPress 使用 WP-Super-Cache 插件,若要开启 mod_rewrite 缓存模式,需要在 nginx 里面加入一些特定规则...用过 WP-Super-Cache 插件应该都知道,在高级设置里面有一项【当某页面有新评论时,只刷新该页面的缓存】功能,从字面上来说,就是当有人在某篇文章发起评论时,删除该页面的缓存。...也就是采用 ajax 评论方式,可能无法触发 WP-Super-Cache 删除机制,从而导致这个功能失效!总之,不管怎么样,反正在我博客失效了,现在就要想办法解决这个问题。...简单加上几句并不高端 PHP 代码后,就实现了这个功能: 编辑主题下 comments-ajax.php 文件(启用 ajax 评论博客才有),找到如下代码: do_action('pre_comment_on_post...', $comment_post_ID); 然后,在这行代码之后添加删除缓存代码,保存即可: //有人评论将自动删除已存在缓存 $post_data = get_post($post->ID, ARRAY_A

    839120
    领券