URL重写(.htaccess)index.php?page = foo&lang = en到/ en / foo

问题描述 投票:0回答:1

我是使用.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]

php regex .htaccess url redirect
1个回答
0
投票
这里是一个符合您需求的.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

© www.soinside.com 2019 - 2024. All rights reserved.