使用htaccess将路径重定向到文件夹

时间:2015-02-02 14:18:54

标签: apache .htaccess mod-rewrite redirect

看起来这可能是一件容易的事,但无法找到问题的答案。

我需要使用htaccess进行复杂的重定向。

我的网页上有产品链接:

host/shop/cat/some_cat/product_info/some_product

我需要将它们重定向到:

host/product_id/product_info/some _product

重要提示: /some_cat/文件夹总是不同,some_product页面的扩展名为php,已经隐藏了htaccess规则。

我目前的htaccess规则是:

Options All -Indexes 

DirectorySlash Off 
RewriteEngine on 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*[^.]+\.php 
RewriteRule ^(([^/]+/)*[^.]+)\.php$ example.com/$1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(([^/]+/)*[^/.]+)$ /$1.php [L] 
RewriteRule ^(.*)/cart.php$ /shop/cart.php?products_id=$1 [QSA]

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

使用以下字符串完成此操作:

选项+ FollowSymLinks
RewriteRule ^(。)/ products_id /(.)$ http://example.com/product_id/prod_info/ $ 2 [R,L]

我还将目标文件夹/ p​​roduct_info /重命名为/ prod_info /以避免冲突。