php - .htaccess 结合 2 RewriteRule

标签 php apache .htaccess redirect mod-rewrite

我有一个小问题.htaccess 的观点。

我来自旧网站的网址,其组成如下:news-pecq_mur_quai_plateforme_bimodale_dechargement_inauguration_escaut.html

这些网址变为:pecq_mur_quai_plateforme_bimodale_dechargement_inauguration_escaut

我必须删除这些网址中的“news-”和“.html”。

我已经组合了两个规则,但我不知道如何组合。这是我的起始代码。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news-(.*)$ /$1 [L,R=301]
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
</IfModule>

最佳答案

您可以使用单个规则从您的网址中删除这两个权限,请尝试:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news-(.*?)\.html$ /$1 [L,R=301]

在测试此重定向之前清除浏览器缓存。

关于php - .htaccess 结合 2 RewriteRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38116991/

相关文章:

php - Mysql语句,有没有办法改进这个?

javascript - 如何制作一直运行的脚本?

java - 运行 Java 的 Azure Web 角色返回 500

php - Apache 或 PHP 替换主机名

javascript - 1and1 托管的 .htaccess AddType json php 无法正常工作

php - 将 JSON 解析数组转换为 CSV

php - 为什么1 == '1,2'为真?

php - Linux 更新 roundcube 停止工作并指向 squirrelmail

apache - 如果不是带有Apache的目录,请删除结尾的斜杠

php - Zend Framework 上的公共(public)文件夹