【问题标题】:404 error due to .htaccess由于 .htaccess 导致的 404 错误
【发布时间】:2015-08-31 15:00:17
【问题描述】:

我将我们的实时项目复制到了一个子目录。但是当我尝试运行它时,它显示 404 错误。我确实需要更改 .htaccess 文件,但它仍然显示 /Publish/index.php 页面未找到。

我检查了文件和文件夹是否存在并且有 755 权限。 不知道为什么会显示 404 错误。

这是我的 .htaccess 文件代码。

RewriteEngine on
RewriteBase /var/www/site/serp/httpdocs/
RewriteRule ^robots.txt /robots-development.txt
RewriteRule ^robots.txt /robots-development.txt
RewriteRule ^index.htm([^/]+)/$ /Publish/index.php?lang_value=$1 [NC]
RewriteRule ^index.php$ /Publish/index.php [NC]
RewriteRule ^index.htm$ /Publish/index.php [NC]

注意:- 我无法重新启动 apache 服务器。所以我不能在 apache conf 文件中添加任何东西。

【问题讨论】:

  • 提供您的文件结构。
  • 这是我的 .htaccess 文件pastebin.com/cbKZdi2F
  • 您确定绝对文件夹 url 是 /var/www/site/serp/httpdocs/?该错误很可能是由这一行引起的,因为它重写了基础但找不到任何东西,所以它抛出了 404。
  • 实际上这是一条很长的路,但我使用链接使它变小了。因此,当我在文件夹中键入 PWD 时,它会显示此文件夹 url。但实际上它是一个很大的 URL。那么我放缩网址有什么问题吗?
  • 我也试过用大网址,但还是不行。

标签: php apache .htaccess


【解决方案1】:

您的RewriteBase 似乎是错误的,因为它应该是您的DocumentRoot 的相对路径:

RewriteEngine on

RewriteRule ^robots\.txt$ robots-development.txt [L,NC]

RewriteRule ^index\.htm([^/]+)/$ Publish/index.php?lang_value=$1 [NC,L,QSA]

RewriteRule ^index\.php$ Publish/index.php [NC,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-25
    • 2015-05-24
    • 1970-01-01
    • 2021-10-04
    • 2019-12-10
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多