Htaccess 否定
Htaccess negation
我使用 htaccess 来解析对 seo 友好的请求。
早些时候我的 htaccess 有这些字符串来解析像 /some/request/
这样的请求
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^([^.]*)$ /index.php?alias= [QSA]
现在我的网站上有多语言支持来解析像 /en/some/request/
这样的请求
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^(en|de)(/)?([^.]*)$ /index.php?lng=&alias= [QSA]
如何捕获所有没有语言部分的旧请求 /some/request/ 并将它们转发到默认语言 /en/some/request/
据我了解应该是这样的
RewriteCond %{REQUEST_URI} !^(en|de)
RewriteRule ^(.?)$ ru// [L,R=301]
您可以这样尝试您的规则。
RewriteEngine On
RewriteRule ^(?!en|de)/?(.+)$ /en/ [R=301,L]
RewriteRule ^index\.php - [L]
RewriteRule ^(en|de)/?([^.]*)$ /index.php?lng=&alias= [QSA,L]
我使用 htaccess 来解析对 seo 友好的请求。 早些时候我的 htaccess 有这些字符串来解析像 /some/request/
这样的请求RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^([^.]*)$ /index.php?alias= [QSA]
现在我的网站上有多语言支持来解析像 /en/some/request/
这样的请求RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^(en|de)(/)?([^.]*)$ /index.php?lng=&alias= [QSA]
如何捕获所有没有语言部分的旧请求 /some/request/ 并将它们转发到默认语言 /en/some/request/
据我了解应该是这样的
RewriteCond %{REQUEST_URI} !^(en|de)
RewriteRule ^(.?)$ ru// [L,R=301]
您可以这样尝试您的规则。
RewriteEngine On
RewriteRule ^(?!en|de)/?(.+)$ /en/ [R=301,L]
RewriteRule ^index\.php - [L]
RewriteRule ^(en|de)/?([^.]*)$ /index.php?lng=&alias= [QSA,L]