首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建一个干净的URL (htaccess URL重写)

如何创建一个干净的URL (htaccess URL重写)
EN

Stack Overflow用户
提问于 2017-02-07 23:14:41
回答 1查看 111关注 0票数 1

我使用一个支持系统,我想重写的网址,使他们更加SEO友好和更好的可读性。我对.htaccess重写规则/正则表达式有非常基本的了解,我尝试了上百种方法,但都不能正常工作。

支持系统安装在以下URL上:

代码语言:javascript
运行
复制
http://www.example.com/help/

代码将为知识库中的每一篇文章生成以下URL:

代码语言:javascript
运行
复制
http://www.example.com/help/index.php?/selfhelp/view-article/article-1

代码将在知识库中为类别概述生成以下URL:

代码语言:javascript
运行
复制
http://www.example.com/hulp/index.php?/selfhelp/categories

如何将这些URL重写为可读性和SEO友好的内容,如:

代码语言:javascript
运行
复制
http://www.example.com/help/article/article-1

对于类别:

代码语言:javascript
运行
复制
http://www.example.com/hulp/categories

如果这是可能的话?如果是这样的话,我如何使用.htaccess来实现这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-08 00:34:36

你可以让友好的URL像这样工作,也可以重定向旧的URL:

代码语言:javascript
运行
复制
# Rewrite new URLs
RewriteRule ^help/article/(.+)$ help/index.php?/selfhelp/view-article/$1 [E=rewritten:1]
RewriteRule ^help/categories$ help/index.php?/selfhelp/categories [E=rewritten:1]

# Redirect old URLs
RewriteCond %{ENV:rewritten} !=1
RewriteCond %{ENV:REDIRECT_rewritten} !=1
RewriteCond %{QUERY_STRING} ^/selfhelp/view-article/(.+)$
RewriteRule ^help/index\.php$ /help/article/%1 [R=301,L]

RewriteCond %{ENV:rewritten} !=1
RewriteCond %{ENV:REDIRECT_rewritten} !=1
RewriteCond %{QUERY_STRING} =/selfhelp/categories
RewriteRule ^help/index\.php$ /help/categories [R=301,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42093369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档