【问题标题】:.htaccess rewrite rule not working on remote site.htaccess 重写规则在远程站点上不起作用
【发布时间】:2014-10-16 06:42:16
【问题描述】:

这是我的 .htaccess 文件中的代码

RewriteEngine On
DirectoryIndex index.php

RewriteRule ^items/(\d+)/?$     items.php?item_id=$1

我的目录结构:

|_root_folder_name
|-->category
   |_ .htaccess
   |_ index.php
   |_ items.php

网址:localhost/root_folder_name/category/items/2/。它在本地机器上正常工作,我将 echo $_GET['item_id'] 的值设为 2。但是当我使用 url 访问远程站点时:xyz.com/category/items/2/

根本没有检测到 item_id 变量。我试过print_r($_GET),它打印了一个空数组。

能否请您指出我的重写规则有什么问题。我希望我能够正确解释这个问题。

【问题讨论】:

  • 您能否提供更多有关本地和远程服务器环境的信息,例如 apache 版本、操作系统,您是否在远程服务器上的 Directory 指令中添加了AllowOverride all?跨度>

标签: php .htaccess get rewrite


【解决方案1】:

修好了

经过多次尝试,我只是将文件名从items.php 更改为item.php,现在它可以正常工作了。我猜 RewriteRule 和文件名之间存在冲突,因为它们相似。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多