重写GET变量规则.htaccess

时间:2015-01-14 12:35:35

标签: php apache .htaccess mod-rewrite

好吧,我在创建.htaccess时遇到了麻烦,无论如何,我的菜单中有类别,例如test1test2test3,这些是文件夹,以及我尝试做的是将网址的第二个参数指向index.php,例如http://myapp/test1我希望能够index.php拥有$_GET['cat'] = test1 {1}}等等..
这是我迄今为止尝试过的并且没有工作的内容:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^(.*)/$ index.php?cat=$1 [NC,L]

对此有何帮助?非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试从重写规则中删除预告片/字符。 ^(.*)/$匹配以/结尾的任何网址http://myapp/test/。您可能正在寻找^(.*)$或删除任何前导斜杠^/(.*)$。请注意,如果通过f.ex直接访问index.phphttp://myapp/index.php这也会匹配并重写为http://myapp/index.php?cat=index.php,任何图片也无法直接访问。因此,您可能需要添加一些RewriteCond,首先检查请求的网址是RewriteCond %{REQUEST_FILENAME} !-f之前RedirectRule的现有文件,以便重写网址。