首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >正则的重写自定义

正则的重写自定义
EN

Stack Overflow用户
提问于 2015-02-12 22:07:07
回答 1查看 110关注 0票数 0

这是我现在在htaccess文件中使用的代码。

代码语言:javascript
运行
复制
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|webp|html)(\.gz)?(\?.*)?$"> 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTPS} !=on
RewriteRule .* - [E=CANONICAL:http://%{HTTP_HOST}%{REQUEST_URI},NE]
RewriteCond %{HTTPS} =on
RewriteRule .* - [E=CANONICAL:https://%{HTTP_HOST}%{REQUEST_URI},NE]
</IfModule>
<IfModule mod_headers.c> 
Header set Link "<%{CANONICAL}e>; rel=\"canonical\"" 
</IfModule> 
</FilesMatch>

我要做的是让规范在这里与HTTP_HOST不同。

假设HTTP_HOST现在是example.com/es/但是我需要这个规范是example.com/en/

如何使用上述修改后的代码重写规范的URL以反映example.com/en/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-13 03:49:07

试试这个:

代码语言:javascript
运行
复制
<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST}%{REQUEST_URI} ^(.*?)/es/(.*)$ [NC]
RewriteRule .* - [E=CANONICAL:%1/en/%2,NE,S=1]

RewriteCond %{HTTPS}s ^on(s)|off
RewriteRule .* - [E=CANONICAL:http%1://%{HTTP_HOST}%{REQUEST_URI},NE]
</IfModule>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28488752

复制
相关文章

相似问题

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