php中的.htaccess重定向问题

时间:2016-06-13 13:48:21

标签: php apache .htaccess redirect mod-rewrite

我们在子文件夹中有优惠券网站 yoursitename.com/coupons我们正在.htaccess文件中使用这些内容:

RewriteBase /coupons
RewriteEngine on 

RewriteRule ^coupons/category/(.*)$ /coupons/category.php?c=$1 [R=301,NC,P]
RewriteRule ^coupons/store/(.*)$ /coupons/stores.php?c=$1 [R=301,NC,P]

因为我们想要重定向:

yoursitename.com/coupons/store/StoreName

为:

yoursitename.com/coupons/stores.php?c=StoreName

我们曾尝试RewriteBase /但这也行不通。

我们在根文件夹中也有一个.htaccess文件,它可以执行其他一些任务或重命名扩展但是工作得很好,所以不知道为什么这个没有用。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此.htaccess文件:

RewriteEngine on 
RewriteBase /coupons/

RewriteRule ^category/(.*)$ /coupons/category.php?c=$1 [NC]
RewriteRule ^store/(.*)$ /coupons/stores.php?c=$1 [NC]

如果您将RewriteBase声明为/coupons/,则需要将其从RewriteRules中删除。您的RewriteRules将在RewriteBase之后立即启动。

此外,您不希望它是重定向,只是内部重写,因此您不能将R=301标记。 P标志在这里也没用。