.htaccess - mod_rewrite htaccess 问题
问题描述
我有这个网站: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 例外之一:
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>
谢谢加载
解决方案
您可以使用此规则
RewriteCond %{REQUEST_URI} !^/fr/(standard-virtuel|example2|example3)/ [NC]
RewriteRule ^fr(/.*)?$ / [R=301,L]
只需将example2
, example3
, ... 替换为您想要的,每一个都由|
或者,如果您更喜欢最长的版本(未压缩),其中每个条件都针对特定的 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]
推荐阅读
- sql - SQL - 根据其他两列的值创建一个数组
- python - 在 Python 中使用多处理时没有得到预期的结果
- c# - 在 MVC 解决方案中访问 Web 表单页面文本框控件
- c++ - 多线程矩阵乘法 C++
- sql - Oracle 包含对包含“非”字的短语的工作失败
- java - 使用 compareTo() 对电子邮件地址进行排序返回意外结果
- python - GPFlow:如何解释平均模型的不确定性
- php - 图像已插入但未保存在服务器上
- python-3.x - ElementNotInteractable 异常:消息:元素无法滚动到视图中
- python - Python Django - 如何在 manage.py shell 中将 HTTPS URL 作为函数参数传递