.htaccess mod_重写访问问题

.htaccess mod_重写访问问题,.htaccess,redirect,seo,url-redirection,.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 尽管存在一些例外(即有7个与/fr/相关的url,其中301重定向不应适用),

我有一个网站:neotel2000.com,它的工作方式如下:

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

我需要这个:

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

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

尽管存在一些例外(即有7个与/fr/相关的url,其中301重定向不应适用),但我将向您展示其中一个url例外:

到目前为止,我在这里和其他论坛上搜索了几十个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>

选项+FollowSymlinks
重新启动发动机
重写基/
重写cond%{THE_REQUEST}^得到\/https://www.neotel2000.com/fr/.*\HTTP
重写cond%{THE_REQUEST}^得到\/https://www.neotel2000.com/fr/standard-virtuel/.*\HTTP
重写规则^fr(+)/[R=301,L]
谢谢你

你可以使用这个规则

RewriteCond %{REQUEST_URI} !^/fr/(standard-virtuel|example2|example3)/ [NC]
RewriteRule ^fr(/.*)?$ / [R=301,L]
只需更换
示例2
示例3
。。。根据需要,每一个都用
|

或者,如果您喜欢最长的版本(不压缩),其中每个条件都针对特定的url

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

它不起作用。第一条规则和第二条规则都没有。还有其他建议吗?谢谢你,应该是的。问题一定出在别处。确保启用了
mod_rewrite
,并且允许
.htaccess
文件。还有,你还有其他规定吗?你是使用CMS还是自定义网站?而且,它似乎在你的网站上按预期工作。刚刚尝试了
/fr/standard virtuel/
,它是可用的,而
/fr/whatever/
正在重定向到主页。如果看不到相同的结果,请尝试清除浏览器缓存,然后重试“确保启用mod#u rewrite”,这里有我的所有规则:#选项+FollowSymlinks#RewriteBase上的RewriteEngine/#RewriteCond%{请求URI}^/fr/(标准病毒|[NC]重写规则^fr(/.*)$/[R=301,L]