我已设置htaccess RewriteRules
来重写,例如"domain.ext/en/page"
到"domain.ext?lang=en&p=page"
按预期工作。
但是,我想将语言部分设为可选,因此"domain.ext/page"
也会重写为"domain.ext?lang=en&p=page"
。
这里是htaccess代码:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^domain.ext/.*$ [NC]
Options +FollowSymlinks
RewriteRule ^$ index.php?lang=en
RewriteRule ^(en|nl)/?$ index.php?lang=$1
RewriteRule ^(en|nl)/([^/]+)/?$ index.php?lang=$1&p=$2
所以我想添加类似的内容:
RewriteRule ^([^/][[NOT (en or nl)]]+)/?$ index.php?lang=en&p=$2
答案 0 :(得分:1)
您可以尝试以下正则表达式:
^(?!en|nl)([^/]+)/?$
重写"domain.ext/page"
也会重写为index.php?lang=en&p=$2
。
您还可以添加:
^(?!en|nl)[a-z]{2}/([^/]+)/?$
将jp/page/
,fr/page/
重写为index.php?lang=en&p=$2
我希望它对你有所帮助。祝你好运: - )