Php 我的htaccess文件在url后显示我的$\u GET变量
MyPhp 我的htaccess文件在url后显示我的$\u GET变量,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,My.htaccess文件工作正常,但它在url后显示My$\u GET变量,例如: 目前它显示的是:example.com/en/home?lang=en 应该是example.com/en/home 这是我的规则: RewriteRule ^(en|es)/(home|inicio)/?$ index.php?lang=$1 如果我删除url后面的变量,它也会起作用 我正在使用样板文件的.htaccess文件。 我的重写引擎已打开,并且mod_rewrite已激活 有人能帮我吗 以下是我的
.htaccess
文件工作正常,但它在url后显示My$\u GET
变量,例如:
目前它显示的是:example.com/en/home?lang=en
应该是example.com/en/home
这是我的规则:
RewriteRule ^(en|es)/(home|inicio)/?$ index.php?lang=$1
如果我删除url后面的变量,它也会起作用
我正在使用样板文件的.htaccess
文件。我的重写引擎已打开,并且
mod_rewrite
已激活
有人能帮我吗
以下是我的其他重写规则: RewriteRule ^(en|es)/(event|evento)/(\d+)-(.*)?$ event.php?id=$3
RewriteRule ^(en|es)/videos/?$ videos.php?lang=$1
我的链接如下:$lang=$\u GET[“lang”]$_获取[“lang”]:“en”代码>
url栏显示:example.com/en/videos?lang=en
,我的意思是这个问题发生在所有网站上您需要显示.htaccess的其余部分。一条规则不足以诊断此问题。您是否曾直接链接到example.com/en/home?lang=en
?它不会重定向该请求以删除lang
参数;但是,如果省略参数(example.com/en/home
),由于重写规则,它仍将被发送到index.php
。您的htaccess文件中是否有Redirect
或RedirectMatch
任何地方?我的htaccess中没有任何Redirect或RedirectMatch。那么您是说如果您在它重定向到的站点上键入此example.com/en/home
example.com/en/home?lang=en
?