Apache .htaccess重定向并添加变量

Apache .htaccess重定向并添加变量,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我们的客户banner campain今天发布了一个错误的url 所以我试着改变方向 website.com/wheels/?lang=en&sel=540 到 我尝试将.htaccess放入包含以下内容的文件夹控制盘: RewriteEngine on RewriteRule ^([^/]+)/([^/]+)/?$ index.html?lang=$1&sel=$2 但它不起作用。有人知道我做错了什么吗 编辑 我在根目录中找到了现有的.htaccess。它包含以下代码:

我们的客户banner campain今天发布了一个错误的url

所以我试着改变方向

website.com/wheels/?lang=en&sel=540

我尝试将.htaccess放入包含以下内容的文件夹控制盘:

RewriteEngine on
RewriteRule ^([^/]+)/([^/]+)/?$  index.html?lang=$1&sel=$2
但它不起作用。有人知道我做错了什么吗

编辑

我在根目录中找到了现有的.htaccess。它包含以下代码:

RewriteEngine On
RewriteBase /
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php [L]
如果添加代码触发代码,则不会发生任何事情:

RewriteCond %{QUERY_STRING} ^lang=en&sel=[0-9]+(&|$) [NC]
RewriteRule ^(wheels)/$ /$1/index.html [R=301,L,NC]

顺便说一句,lang不是静态的,它可以是en或de。

尝试将其添加到网站根目录中的.htaccess。默认情况下,将执行querystring参数

RewriteEngine on
RewriteBase /

RewriteRule ^wheels/$  /wheels/index.html [R=301,L,NC]

在ROOT.htaccess中使用此选项:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteCond %{QUERY_STRING} ^lang=en&sel=[0-9]+(&|$) [NC]
RewriteRule ^(wheels)/$ /$1/index.html [R=301,L,NC]

您还可以通过在现有重写规则前面添加额外的重写秒来完成此操作

RewriteCond $0 !^wheels/

是的,但此规则需要进入父文件夹才能执行。同时删除前导/和\,例如“wheels/index.html”(1)这是在perdir上下文中,(2)替换字符串不是regexp,因此“.”不需要escaping@TerryE你对#2的看法是正确的,因此进行了调整。也同意这应该放在根文件夹中。
RewriteCond $0 !^wheels/