首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将旧请求urll转换为新请求的mod_rewrite

将旧请求urll转换为新请求的mod_rewrite
EN

Stack Overflow用户
提问于 2010-07-07 18:35:39
回答 1查看 54关注 0票数 0

.hello -我需要转换旧的网址请求,以适应新网站的内容;

ie 'art-consultancy‘曾经是'consultancy’,那么如何抓取'consultancy‘urls并将其转换为'art-consultancy’呢?

我的规则如果^consultancy$ MAKE ^art-consultancy$并继续执行下面的规则...

代码语言:javascript
运行
复制
RewriteRule ^art-consultancy$ consultancy-02.php [L]
RewriteRule ^art-consultancy/$ consultancy-02.php [L]

RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)$ consultancy-02.php?section=$1 [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/$ consultancy-02.php?section=$1 [L]
#
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)$ article-01.php [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$ article-01.php [L]

感谢任何人的帮助!

ps。尝试了重定向/consultancy /art-consultancy,但没有任何运气。你认为这个方法需要一个实际的文件吗?

最佳,Dc

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-08 11:57:14

基本上你只需要做你所说的你想做的事情,就像你对其他规则所做的那样,所以我不确定这在“答案”...But的方式中有多大的资格,为了完整性,我将继续写下全部内容:

(另外,我还将您的其他规则压缩为一行)

代码语言:javascript
运行
复制
# Add in this condition because consultancy-02.php matches here too
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^consultancy(.*)$ art-consultancy$1

RewriteRule ^art-consultancy/?$ consultancy-02.php [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/?$ consultancy-02.php?section=$1 [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ article-01.php [L]

如果您希望在用户的浏览器URL中将consultancy转换为art-consultancy,则应使用以下代码替换第一个RewriteRule

代码语言:javascript
运行
复制
RewriteRule ^consultancy(.*)$ /art-consultancy$1 [R=301,L]

我不能完全确定为什么Redirect不能像你期望的那样工作。如果你查看服务器的error_log,它可能会告诉你,但是如果不知道你的站点的目录结构是什么样子,就很难推测。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3193924

复制
相关文章

相似问题

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