我使用 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/