【问题标题】:Url rewriting in php from htaccess从 htaccess 在 php 中重写 URL
【发布时间】:2014-03-28 10:35:43
【问题描述】:

我已经在 .htaccess 中编写了这段代码

RewriteEngine on
RewriteRule ^signin signin.php

但是当我试图建立像<a href="signin">Xyz </a>这样的链接时

它显示了这个错误:

未找到 在此服务器上找不到请求的 URL /abctra/signin。 此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。

问题可能是托管问题 我正在使用 Godaddy Linux 托管。如果需要在服务器上进行任何更改,请告诉我。

代码在本地主机上运行良好。只是不在主机帐户上运行。

【问题讨论】:

  • 您确定该文件夹中有signin.php 文件吗?
  • 你能出示你的 .htaccess 代码吗?
  • 在 .htaccess 中写完之后你会得到什么 url?
  • 您的 .htaccess 文件在哪里?在文件夹 /abctra 上?
  • abctra.com 是您可以查看的链接,我刚刚上传了一个演示。点击登录或注册同样的问题。

标签: php apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

我认为您的代码看起来不错尝试检查是否启用了 mod_rewrite Apache 模块,对于共享主机,您可能没有 SSH 访问权限,但您可以使用以下代码通过 php 进行检查

in_array('mod_rewrite', apache_get_modules());

【讨论】:

  • 开源 -> 它将在数组中返回什么...布尔值或值
  • 它将返回一个包含所有已启用模块的数组
  • Opensouce 给出错误“调用未定义函数 apache_get_modules()”
  • 你可以试试这个链接stackoverflow.com/questions/3178173/…
  • 您可以检查您的 PHP 编译时使用的选项,如上述链接中所述
【解决方案2】:

你几乎有,以下应该可以工作:

RewriteEngine on
RewriteRule ^signin$ /signin.php

【讨论】:

    猜你喜欢
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多