【问题标题】:404 Not Found error while using .htaccess使用 .htaccess 时出现 404 Not Found 错误
【发布时间】:2016-10-05 15:07:36
【问题描述】:

我有这个链接:

<a href="admin.php?page=buyingreport">Buying Report</a>

为了获得漂亮的网址,我将其更改为:

<a href="admin/buyingreport">Buying Report</a>

这是我的整个 .htaccess:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^mysite [nC]
RewriteRule ^/?$ "http\:\/\/www\.mysite\.com\/" [R=301,nC]

RewriteRule ^([^/.]+)$ $1.php [L]

RewriteRule ^admin/([a-z]+)$ admin.php?page=$1 [L]

我总是收到 404 Not Found 错误“在此服务器上找不到请求的 URL /admin/buyingreport.php”。为什么将我重定向到buyingreport.php?

.htaccess 文件似乎不起作用。有什么问题吗?或者也许是我的链接?

有人可以帮帮我吗?

【问题讨论】:

  • 是的,链接在我的 admin.php 中。
  • 你还有什么重写规则吗?
  • @starkeen 是的,我有。我在上面的帖子中编辑了 .htaccess。
  • htaccess 是否在根文件夹中?
  • @starkeen .htaccess 与我的 admin.php 在同一个文件夹中。

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


【解决方案1】:

这很好用

RewriteEngine On
RewriteRule ^admin/([a-zA-Z0-9]+)$ admin.php?id=$1 [QSA]

【讨论】:

  • 它不起作用。它仍然引导我购买report.php。我想要的是得到这个 URL:www.mysite.com/admin/buyingreport。虽然我的实际页面 URL 是:www.mysite.com/admin?page=buyingreport.
  • 将变量 id 更改为 page RewriteRule ^admin/([a-zA-Z0-9]+)$ admin.php?page=$1 [QSA]
  • 如果仍然不起作用。检查这个答案可能是来自 httpd.conf link的问题
  • 是的,现在可以了。 js和css有点小问题。但没关系,我会找到答案的。谢谢。
  • 太棒了。问题来自 url,因为 url 显示的内容就像文件夹中的内容。要修复它,只需在关闭 &lt;base href="http://maintarget/"/&gt; 之前添加此代码,将 maintarget 更改为您自己的主要目标。
猜你喜欢
  • 2017-10-19
  • 2017-09-03
  • 2012-09-27
  • 2021-07-20
  • 2017-11-25
  • 1970-01-01
  • 2011-11-29
  • 2018-07-19
  • 2021-11-07
相关资源
最近更新 更多