首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess重写URL的部分

.htaccess重写URL的部分
EN

Stack Overflow用户
提问于 2015-10-11 03:40:18
回答 2查看 65关注 0票数 1

我有两个要求:

  1. 我想把component/testcomp在URL中重写为comp

https://www.website.com/component/testcomp在URL中应该是:https://www.website.com/comp

  1. 所有来自website.com的请求都应该被重定向到https://www.website.com

下面是我的.htaccess文件的内容:

代码语言:javascript
复制
   IndexIgnore *

Options +FollowSymlinks
Options -Indexes


RewriteEngine On

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]


RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]


RewriteBase /
RewriteCond %{HTTP_HOST} ^website\.com$ [NC]
RewriteRule ^(.*)$ https://www.website.com/$1 [R=301,L]

我怎样才能做到呢?我尝试添加重写规则,但它不起作用。让我知道重写规则&我该把它放在哪里。

EN

回答 2

Stack Overflow用户

发布于 2015-10-11 05:21:13

要将"/component/testcomp“重写为"comp",我认为您必须用R标记它,或者使用R=301使其成为永久的。不过,我有种感觉,你可能不得不调整其他规则。

代码语言:javascript
复制
RewriteRule ^component/testcomp/(.*)$ /comp/$1 [L,R]

或使其永久化:

代码语言:javascript
复制
RewriteRule ^component/testcomp/(.*)$ /comp/$1 [L,R=301]
票数 0
EN

Stack Overflow用户

发布于 2015-10-11 07:32:54

尝试以下几点:

代码语言:javascript
复制
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /component/test(comp)(\S*) [NC]
RewriteRule ^ /%1 [R=301,L,QSA]

然后,

代码语言:javascript
复制
RewriteRule ^comp(.*)$ /component/testcomp$1 [QSA,NC,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33061277

复制
相关文章

相似问题

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