我有两个要求:
component/testcomp
重写为comp
。 https://www.website.com/component/testcomp
应该看起来像:
URL中的https://www.website.com/comp
。
website.com
的请求都应该301重定向到https://www.website.com
以下是我的.htaccess
文件的内容:
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]
我该怎么办?我尝试添加重写规则,但它无法正常工作。让我知道重写规则&amp;我应该把它放在哪里。
答案 0 :(得分:0)
重写&#34; / component / testcomp&#34;只是&#34; comp&#34;,我认为你必须用R标记它,或使用R = 301使它成为永久性的。但我觉得你可能不得不调整其他规则。
RewriteRule ^component/testcomp/(.*)$ /comp/$1 [L,R]
或使其永久化:
RewriteRule ^component/testcomp/(.*)$ /comp/$1 [L,R=301]
答案 1 :(得分:0)
尝试以下方法:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /component/test(comp)(\S*) [NC]
RewriteRule ^ /%1 [R=301,L,QSA]
然后,
RewriteRule ^comp(.*)$ /component/testcomp$1 [QSA,NC,L]