Apache 用子目录和文件重写URL

Apache 用子目录和文件重写URL,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我正在尝试使用.htaccess重写我的网站的URL,下面是我想要的 目前,URL如下所示 http://www.mysite.biz/store/cart.php?m=new_arrivals 所有的站点都是使用php GET加载的,唯一改变的是cart.php之后的查询字符串,所以我想重写为 http://www.mysite.biz/cart.php?m=new_arrivals 我一直在互联网上搜索,并尝试了各种技术来做到这一点,但没有一个有效。我试过这个 RewriteRule ^

我正在尝试使用.htaccess重写我的网站的URL,下面是我想要的

目前,URL如下所示

http://www.mysite.biz/store/cart.php?m=new_arrivals
所有的站点都是使用php GET加载的,唯一改变的是cart.php之后的查询字符串,所以我想重写为

http://www.mysite.biz/cart.php?m=new_arrivals
我一直在互联网上搜索,并尝试了各种技术来做到这一点,但没有一个有效。我试过这个

RewriteRule ^store/(.*)$ http://www.mysite.biz/$1 [R=301,L]
这个

RewriteCond %{REQUEST_URI} ^/store($|/)
RewriteRule ^.*$ /store/cart.php [L]
而这个

RewriteCond $1 !^store
RewriteRule ^(.*) /store/$1 [L] 

我开发web已经有一段时间了,但这是我第一次真正用.htaccess做任何事情,我完全被难住了。任何帮助都将不胜感激

请在您的
文档\u ROOT/.htaccess
文件中尝试此规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+store/(cart\.php[^\s]+) [NC]
RewriteRule ^ /%1 [R=302,L]

RewriteRule ^(cart\.php)$ /store/$1 [L,NC]

好的,我只是试了一下,但没用。我在.htaccess中还有一些其他的东西,但是除了你的行之外,我把所有的东西都注释掉了,它仍然不起作用……你希望从
http://www.mysite.biz/store/cart.php?m=new_arrivals
http://www.mysite.biz/cart.php?m=new_arrivals
?我将您的代码添加到.htaccess文件中,我将其ftp到我的站点的根目录,然后转到我站点上的不同页面。对于您提供的两段代码,/store/cart.php将保留在url中。您确定吗。htaccess和mod_rewrite已启用?是的,我还有其他重写规则,它们工作正常。我在测试时把它们注释掉了,但仍然不起作用