我有一个游戏站点,最近迁移到了wordpress,现在我想将旧的URL重定向到新的URL。这是示例:
旧网址-https://www.website.com/fighting/stick-fighter.html 新网址-https://www.website.com/stick-fighter/
我通过在htaccess中创建此代码来解决此问题:
重定向301 /fighting/stick-fighter.html / stick-fighter /
但是我的游戏有500多个类别,所以我不想在htaccess中对每个游戏进行编码。 有没有办法删除URL中“战斗”类别并删除“ .html”扩展名?
答案 0 :(得分:0)
^(?<base>https?://www.website.com/)(?<catgory>fighting/)(?<page>.+?)(?<extension>\.html)$
然后将“基础”和“页面”组合并在一起
我正在这样使用C#:
string s1 = Regex.Replace(oldUrl, @"^(?<base>https?://www.website.com/)(?<catgory>fighting/)(?<page>.+?)(?<extension>\.html)$", @"$1$3/");
对于URL重定向,您应该通过在httpd.conf中启用“ AllowOverride”来启用apache重定向:
将AllowOverride从“无”更改为“全部”
Options FollowSymLinks
AllowOverride All
加载重定向模块
LoadModule rewrite_module modules/mod_rewrite.so
更改/添加重写规则
<VirtualHost *:80>
RewriteEngine On
RewriteRule ^(?<base>https?://www.website.com/)(?<catgory>fighting/)(?<page>.+?)(?<extension>\.html)$ $1$3/ [L]
</VirtualHost>