重写规则不适用于php中的子目录

时间:2016-07-27 07:36:21

标签: php apache .htaccess mod-rewrite url-rewriting

我的域名为www.example.com,我创建了一个名为shop.com的子目录(文件夹),因此最终的网址为www.example.com/shop.com/ 但是,www.shop.com工作正常。

现在,我正面临着SEO友好网址的问题

  

我有以下网址:www.shop.com/tshirt/value.php?url=nike

     

我希望将其转换为:www.shop.com/tshirt/nike

我正在尝试为此写一个RewriteRule。

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
Rewriterule /tshirt/value.php?url=$1 [L,QSA,NC]

但这条规则不起作用。如何正确处理子目录?

2 个答案:

答案 0 :(得分:0)

将此行添加到.htaccess文件

RewriteRule ^tshirt/([A-Za-z0-9-]+)$ /tshirt/value.php?url=$1;

答案 1 :(得分:0)

请试试这个

RewriteCond %{QUERY_STRING} (^|&)url=nike($|&)
RewriteRule ^www\.shop\.com/tshirt/value\.php$ /www.shop.com/tshirt/nike?&%{QUERY_STRING}