htaccess值未传递给脚本$ 1和$ 2

时间:2012-08-27 22:24:11

标签: .htaccess mod-rewrite rewrite

我不确定什么是错的,最可能的是我的htaccess是错误的。无论如何,服务器上有两个名为“club.php”的文件,另一个名为“image.php”的club.php被重写为看起来像这样的目录; club1

网址看起来像这样,没有重写ex; club.php?cid = 1 cid是俱乐部ID

现在,image.php文件的目标是通过路径从数据库调用图像并将其显示给用户,而不会在服务器上显示实际的图像路径。

为此,有两个值传递给查询“cid”和“type”。我当前的htaccess的问题是,无论何时有一个反斜杠添加到club1它停止工作并显示数据同样发生image.php不再有效。

由于我使用的是club1 / some-page-name样式的体系结构,因此需要使用反斜杠。但遗憾的是,他们不能使用我目前的重写规则。

这是我目前的htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteRule ^club([0-9]+) index.php?clubID=$1 [L]

    RewriteRule ^image/_header([0-9]+)_([0-9]+) image.php?cid=$1&type=$2 [L]

        <IfModule mod_env.c>
             SetEnv SEO_SUPPORT 1
        </IfModule>
</IfModule>

有人可以指出我做错了什么以及如何解决反斜杠问题。提前谢谢你。

文件树

http://localhost/dev1
       - index.php
       - image.php
       - club.php
       - .htaccess
       -> php
          - db.class.php
          - functions.class.php
       -> css
          - menu.css
       -> js
          - html5handler.js
       -> uploads

1 个答案:

答案 0 :(得分:0)

发现问题。问题是因为/ page被添加到俱乐部之后的URL#它强制图像脚本指向主目录而不是它的测试目录/ dev1所以url会变成

image / _header1_4而不是他们需要是dev1 / image / _header1_4

所以最终这不是htaccess问题