【问题标题】:htaccess RewriteRule 404 Errorhtaccess 重写规则 404 错误
【发布时间】:2023-04-08 15:00:01
【问题描述】:

我想更改这个网址

http://localhost/RedHat/movbase-backbone/php/sql/movie.php

进入这个

http://localhost/RedHat/movbase-backbone/movie

我尝试在我的 .htaccess 文件中创建规则,但每当我转到 /movie 时都会收到 404 错误。

这是我的规则

RewriteEngine On
#RewriteBase /
RewriteRule ^movie/?$ php/sql/movie.php [NC,L]

我已尝试将movie.php 与其他文件一起更改,以查看它们是否可以工作,但我没有遇到任何问题。

我的规则有问题吗?

【问题讨论】:

    标签: .htaccess xampp http-status-code-404


    【解决方案1】:

    在位于 /RedHat/movbase-backbone/.htaccess 的 .htaccess 文件中:

    RewriteEngine On
    RewriteBase /RedHat/movbase-backbone/
    RewriteRule ^movie/?$ php/sql/movie.php [NC,L]
    

    这假设您的文档根位于http://localhost/。

    您真的要同时允许movie 和movie/ 吗?

    【讨论】:

    • 我的 .htaccess 位于 /RedHat/movbase-backbone/.htaccess。我正在使用 url 作为休息 api,所以我想让电影和电影/两者都工作。稍后我想要movie/:id,其中:id 是电影ID,但我可以稍后再处理。
    • 不,这不起作用。当我尝试访问电影或电影时/我收到 404 错误。 404 错误有一个链接将我发送到包含我的 php 文件的文件夹,因此 php/sql.这是我收到的错误页面link
    • 以上内容本身应该可以工作。这个 .htaccess 文件中还有其他指令吗?您在父目录中有其他 .htaccess 文件吗?尝试将上面的 RewriteRule 更改为临时重定向(即包括 R 标志) - 它会重定向吗?
    • 我在 .htaccess 文件中的唯一其他指令是检查 404 错误。我只有一个 .htaccess 文件。当我包含 R 标志时,页面会重定向并正常工作。
    • 如果 redirect(即带有 R 标志)正常工作而 internal rewrite 不能正常工作,听起来好像您的服务器-side 代码可能依赖于请求 URL?
    猜你喜欢
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2013-11-24
    • 2012-03-30
    • 1970-01-01
    • 2014-05-12
    • 2014-09-22
    相关资源
    最近更新 更多