【问题标题】:Rewrite Rule for GET variables .htaccessGET 变量的重写规则 .htaccess
【发布时间】:2015-01-14 12:35:34
【问题描述】:

好吧,我在创建 .htaccess 时遇到了麻烦,无论如何我的菜单中有类别,例如 test1,test2,test3 是文件夹的名称,以及我正在尝试做的事情就是将url的第二个参数指向index.php,比如http://myapp/test1我希望能够从index.php中得到$_GET['cat'] = test1等等..
这是我迄今为止尝试过但没有奏效的方法:

Options +FollowSymlinks
RewriteEngine on

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

对此有什么帮助吗?非常感谢。

【问题讨论】:

标签: php apache .htaccess mod-rewrite


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-10-29
    • 2013-07-11
    • 1970-01-01
    • 2021-12-18
    • 2017-07-08
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    相关资源
    最近更新 更多