【问题标题】:Why Rewriterule doens't work in my .htaccess file?为什么重写规则在我的 .htaccess 文件中不起作用?
【发布时间】:2014-12-16 23:28:22
【问题描述】:

我一直在努力解决这个非常罕见的问题。

我的 .htaccess 文件中有以下代码:

Order deny,allow
DirectoryIndex index.php
RewriteEngine on

Rewriterule ^producto/(.+)/(.+) producto.php?id=$1&title=$2
Rewriterule ^pedidos/ pedidos.php

Rewriterule ^peliculas/(.+)/(.+) listado.php?tipo=1&gen=$1&pag=$2
Rewriterule ^musicales/(.+)/(.+) listado.php?tipo=2&gen=$1&pag=$2
Rewriterule ^blueray/(.+)/(.+) listado.php?tipo=4&gen=$1&pag=$2
Rewriterule ^condicionadas/(.+)/(.+) listado.php?tipo=5&gen=$1&pag=$2
Rewriterule ^series/(.+)/(.+) listado.php?tipo=3&gen=$1&pag=$2

一切正常。当我想改变第五行时:

Rewriterule ^pedidos/ pedidos.php

到这里:

Rewriterule ^pedidos/(.+) pedidos.php?estado=$1

它没有工作。不管我如何改变那条线,它都行不通。 但是,如果我更改任何其他行,则更改将起作用。 就像有一个缓存文件但我重新启动了 WAMP,我用 CCleaner 清理了我的计算机和浏览器,但没有任何效果。

你能帮我解决这个问题吗?

【问题讨论】:

    标签: windows apache .htaccess mod-rewrite


    【解决方案1】:

    尝试在RewriteEngine on之前添加:

    Options -MultiViews
    

    【讨论】:

    • 很高兴知道它成功了,您可以通过单击我的答案左上角的勾号将答案标记为已接受。
    • 任何解释为什么会这样?我也发现了这个,我很担心:www.gerd-riesselmann.net/archives/2005/04/beware-of-apaches-multiviews
    • 是的。使用 MultiViews,如果文件不存在,Apache 会尝试添加 .php。使用我的选项,您可以禁用它(之前已激活)所以没问题!
    猜你喜欢
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多