【问题标题】:htaccess rewrite working differentlyhtaccess 重写工作方式不同
【发布时间】:2013-05-24 13:37:06
【问题描述】:

这是我在本地开发框中的 .htaccess 内容。它工作正常。但是当我在我的 hostgator 共享服务器上尝试相同的操作时,它不起作用。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ perform.php?_api=$1 [QSA]

当我用

替换最后一行时
RewriteRule ^(.*)$ http://domain.com/japi/perform.php?_api=$1 [L,QSA]

它部分有效,但我丢失了随请求发送的“POST”参数。

任何人都可以对此有所了解吗?

谢谢。

【问题讨论】:

  • 去掉“L”,也许吧?获取参数只需要[QSA]。
  • 我试过了。没有帮助。仍然丢失了其他参数。
  • 只有一个参数吗?
  • 嗯,参数计数会根据 API 发生变化。但我只将一个参数附加到列表中

标签: .htaccess mod-rewrite shared-hosting


【解决方案1】:

我想出了问题所在。虽然这在开发箱和我的 bluehost 帐户上都不是问题。

上面提到的 htaccess 代码位于子目录“japi”,其父目录包含 wordpress 安装。 wordpress 的 htaccess 引起了问题。

RewriteBase /

子文件夹也需要设置

RewriteBase /japi

不知道为什么这对我的开发盒或 bluehost 盒有效。也许 htaccess 规则没有被继承。

【讨论】:

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