.htaccess htaccess将目录名更改为参数

.htaccess htaccess将目录名更改为参数,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个用于重定向的域 example.com/129dj9 它使用6位字母数字代码。我想将example.com/129dj9更改为example.com?code=129dj9,以便重定向到另一个url RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com/([a-z0-9]{6}) RewriteRule ^(.*)$ https://example\.com?code={REQUEST_URI} 我希望确保域是example.

我有一个用于重定向的域

example.com/129dj9
它使用6位字母数字代码。我想将
example.com/129dj9
更改为
example.com?code=129dj9
,以便重定向到另一个url

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com/([a-z0-9]{6})
RewriteRule ^(.*)$ https://example\.com?code={REQUEST_URI}

我希望确保域是
example.com
,并且目录
/129dj9
是6位字母数字代码。我的代码根本不起作用。

这里不需要如此复杂的
重写条件,请尝试以下操作:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^/?([a-z0-9]{6})$ https://example.com?code=$1 [END]

注意:如果您有权访问真实的http服务器主机配置,则最好将此类规则放置在该配置中,而不是使用动态配置文件(“.htaccess”)。上述规则在两种情况下都适用

第一步:去弄清楚主机名到底是什么。@cbroe回答我的问题,兄弟1。不是你的兄弟。2.你甚至连一个真正的问题都没问,所以也许可以降低你的态度。3.去告诉自己“主机名”是什么意思,这样你就可以意识到你在上面犯了什么错误。检查路径的部分可以直接在RewriteRule中完成,而不需要首先交给RewriteCond。因此,使用条件和规则中的路径检查主机名是否匹配。(在.htaccess上下文中配置时,后者没有前导斜杠,该斜杠在该点上已经去掉。)