Apache 使用htaccess将路径重定向到文件夹
看来这可能是一项容易的任务,但我找不到任何问题的答案 我需要一个使用htaccess的复杂重定向 我有一些带有产品链接的页面:Apache 使用htaccess将路径重定向到文件夹,apache,.htaccess,mod-rewrite,redirect,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_产品页面的扩展名是php,它已经被htaccess规则隐藏 我当前的访问规则是: 任何帮助都将不胜感激
host/shop/cat/some_cat/product_info/some_product
我需要将它们重定向到:
host/product_id/product_info/some _product
重要提示:/some_cat/文件夹总是不同的,some_产品页面的扩展名是php,它已经被htaccess规则隐藏
我当前的访问规则是:
任何帮助都将不胜感激。谢谢。使用以下字符串完成此操作: 选项+FollowSymLinks 重写规则^./products\u id/$$2[R,L]
我还将目标文件夹/product\u info/重命名为/prod\u info/以避免冲突。如何从原始URL获取product\u id?/product\u id/是一个文件夹,它与其他文件夹一样永不更改,除了唯一一个文件夹:/some\u cat/没有回答问题-您希望第一个URL重定向到第二个-如果产品id不在第一个文件夹中,您希望如何填充产品id?如果我没有答对,很抱歉,但我不需要填充文件夹/product\u id/,为了更好地理解,我可以用更简单的格式编写查询:比如我有一个url:host/folder1/folder2/some\u changing\u folder/product\u name,需要将其重定向到host/folder3/folder4/same_product_name。您需要在问题中包含您当前的code.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]