Apache .htaccess重定向并添加变量
我们的客户banner campain今天发布了一个错误的url 所以我试着改变方向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。它包含以下代码:
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/