apache - Htaccess 否定

标签 apache .htaccess seo

我使用 htaccess 来解析对 seo 友好的请求。 早些时候我的 htaccess 有这些字符串来解析像 /some/request/

这样的请求
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^([^.]*)$ /index.php?alias=$1 [QSA]

现在我的网站上有多语言支持来解析像 /en/some/request/

这样的请求
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^(en|de)(/)?([^.]*)$ /index.php?lng=$1&alias=$3 [QSA]

如何捕获所有没有语言部分的旧请求 /some/request/ 并将它们转发到默认语言 /en/some/request/

据我了解应该是这样的

RewriteCond %{REQUEST_URI} !^(en|de)
RewriteRule ^(.?)$ ru/$1/ [L,R=301]

最佳答案

您可以通过这种方式尝试您的规则。

RewriteEngine On
RewriteRule ^(?!en|de)/?(.+)$ /en/$1 [R=301,L]

RewriteRule ^index\.php - [L]
RewriteRule ^(en|de)/?([^.]*)$ /index.php?lng=$1&alias=$2 [QSA,L]

关于apache - Htaccess 否定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34347303/

相关文章:

java - PdfBox - 版本 - 文件问题

php - 我们如何配置 symfony 1.4 以与 Varnish 一起使用?

apache - 希望非 www 解析为网站的 www 版本,但最近更改为 ssl 并且对添加到 .htaccess 文件的代码感到困惑

laravel - .htaccess 如何适用于 public_html cpanel

http https 重复内容谷歌

.htaccess URL 重写不适用于 Ecwid 产品链接

node.js - Apache 和 Node 在端口 80 上

php - 简单的 .htaccess 重写不适用于 GoDaddy

javascript - 所有搜索机器人都使用转义片段吗?

Apache mod_authn_otp 和 HTTP 401 错误