我是使用.htaccess进行URL重写的新手,但我正在为此苦苦挣扎。
我想要更改类似于此[[http://www.example.org/index.php?page=contact&lang=en的url(当页面值根据当前页面而变化时,lang具有3个选项)例如-到https://example.org/en/contact-非www和https版本)。
此外,如果有人访问https://example.org/,我想将他们重定向到https://example.org/en(默认)到目前为止,这是我在.htaccess中所拥有的,并且无法正常工作。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^\w+$ index.php?page=$0&lang=$1 [L]
RewriteCond %{THE_REQUEST} index\.php
RewriteCond %{QUERY_STRING} ^page=(\w+)(&lang=en)?$
RewriteRule ^index\.php$ /%1? [R=301,L]
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?$
RewriteRule (.*) https://%{HTTP_HOST}/en? [R=301,L]
说明
RewriteCond %{REQUEST_URI} ^/?$
请求URI必须为/
或为空
RewriteRule (.*) https://%{HTTP_HOST}/en? [R=301,L]
满足条件后,永久重定向(301)到https://your_host/en
最后
?
是要删除初始查询参数,例如https://www.your_host/?param=value
这里是Live example