mod_rewrite htaccess问题

时间:2018-07-13 09:43:26

标签: .htaccess redirect seo url-redirection

我有这个网站:neotel2000.com可以这样工作:

  • 西班牙语:neotel2000.com
  • 英语:neotel2000.com/en /
  • 法语:neotel2000.com/fr /

好。

我需要这个:

我希望相对于法语版本(/ fr /)的每个可能的部分,都将重定向(301)到根域(neotel2000.com)。示例:

neotel2000.com/fr/whatever/ -----> neotel2000.com

尽管有一些例外情况(即/ fr /有7个url亲戚,其中301重定向不适用),我将向您展示这些url例外之一:

https://www.neotel2000.com/fr/standard-virtuel/

到目前为止,我在这里和其他论坛上搜索了数十个psot,但没有运气。

这是我的.htaccess文件:

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} !^GET\ ./https://www.neotel2000.com/fr/.*\ HTTP
RewriteCond %{THE_REQUEST} !^GET\ ./https://www.neotel2000.com/fr/standard-virtuel/.*\ HTTP
RewriteRule ^fr(.+)/ / [R=301,L]
</IfModule>

谢谢加载

1 个答案:

答案 0 :(得分:1)

您可以使用此规则

RewriteCond %{REQUEST_URI} !^/fr/(standard-virtuel|example2|example3)/ [NC]
RewriteRule ^fr(/.*)?$ / [R=301,L]

只需将example2example3,...替换为您想要的内容,每一个都用|隔开

或者,如果您希望使用最长的版本(非压缩版本),则每个条件都针对特定的网址

RewriteCond %{REQUEST_URI} !^/fr/standard-virtuel/ [NC]
RewriteCond %{REQUEST_URI} !^/fr/example2/ [NC]
RewriteCond %{REQUEST_URI} !^/fr/example3/ [NC]
RewriteRule ^fr(/.*)?$ / [R=301,L]