htaccess 重写规则 404 错误
Posted
技术标签:
【中文标题】htaccess 重写规则 404 错误【英文标题】:htaccess RewriteRule 404 Error 【发布时间】:2015-09-27 01:38:13 【问题描述】:我想更改这个网址
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 与其他文件一起更改,以查看它们是否可以工作,但我没有遇到任何问题。
我的规则有问题吗?
【问题讨论】:
【参考方案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?以上是关于htaccess 重写规则 404 错误的主要内容,如果未能解决你的问题,请参考以下文章
htaccess:尝试 ErrorDocument 时出现 404 Not Found 错误
WordPress 404 模板覆盖我的 .htaccess 设置以解决 404 错误?
在 XAMPP 中使用 .htaccess local 重写 URL