Htaccess重定向子目录和动态查询字符串

时间:2015-05-19 07:34:01

标签: regex .htaccess magento redirect

我在http-host/subdir1/subdir2/siterootdir等子文件夹中安装了Magento网站。

现在我想缩短我的品牌页面的相当长的网址,如下所示:

请求网址:

http://hostname/subdir1/subdir2/siterootdir/brands/brandname.html

原始网址:

http://hostname/subdir1/subdir2/siterootdir/brands/index/brandsproduct/brand/brandname

使用动态查询字符串重定向htaccess

我尝试过谷歌搜索的很多例子,但是当我运行所需的请求网址时,我一直收到404 not found页面。(

另外,我对正则表达式并不是很擅长重写规则/条件,任何人都可以为上述问题提供解决方案。还解释背后的细节?

请注意, brandname 当然是动态的。

2 个答案:

答案 0 :(得分:1)

我采用了不同的方法来解决这些问题,因为我只需要重写品牌特定的网址,因此我认为它与htaccess情景并不完全相关,所以我改变了一点点方法&每当从管理员保存任何品牌时,rewrite programmatically进入核心URL重写("自定义"类型),我也不希望将网址更改为浏览器,这是由magento提供的URL重写。

即使有人找到解决方案" htaccess"然后让我知道,我仍然对此持开放态度,因为我不必为了创建它而重写所有品牌。

答案 1 :(得分:0)

此.htaccess文件会将http://hostname/subdir1/subdir2/siterootdir/brands/brandname.html重定向到http://hostname/subdir1/subdir2/siterootdir/brands/index/brandsproduct/brand/brandname

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} hostname$ [NC]
RewriteCond %{HTTP_HOST} !index
RewriteRule ^(.*)\.html$ http://hostname/subdir1/subdir2/siterootdir/brands/index/brandsproduct/brand/$1 [R=302,L]

将其放在http://hostname/subdir1/subdir2/siterootdir/brands/位置

\.html从网址中删除html扩展名。

R=302将重定向标记为临时。使用301永久移动。