【问题标题】:Persistent .htaccess Rewrite Rules?持久的 .htaccess 重写规则?
【发布时间】:2013-07-25 15:02:08
【问题描述】:

嗨,基本上我遇到了一个最令人沮丧的问题,我被带到帮助修复一个网站(我没有写它,这增加了复杂性)。在 .htaccess 文件中,旧公司使用重写规则使 URL 看起来更清晰。有道理,看起来像这样:

RewriteRule ^products/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)$ productDetail.php?cid=$1&pid=$2
RewriteRule ^products/([A-Za-z0-9-]+)$ category.php?cid=$1
RewriteRule ^page/([A-Za-z0-9-]+)$ page.php?ptitle=$1

RewriteRule ^basket$  basket.php
RewriteRule ^basket/$  basket.php

#RewriteRule ^checkout/$  checkout.php
#RewriteRule ^checkout$  checkout.php
#RewriteRule ^checkout/confirm/$  confirm.php
#RewriteRule ^checkout/confirm$  confirm.php

工作正常,如果我更改前几条规则中的任何内容,这些更改都会反映在网站上。最后四个不是这样。这些规则不会改变。无论我做什么,如果我将它们设为 asdljkhfaksd.php,如果我将它们完全注释掉(就像我目前所做的那样),或者如果我删除整个 .htaccess 文件(这确实违反了所有其他规则,所以服务器是肯定使用该文件)。它上面的目录没有任何冲突的规则。有什么建议可以在其他地方设置吗?还是我疯了?

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    如果没有规则,我想不出为什么去 xxx.com/checkout 会调出页面 checkout.php。有什么建议可以在其他地方设置吗?还是我疯了?

    无法为您回答最后一个问题 ;-) - 但对于之前的问题,这通常是“错误”

    Options MultiViews

    正在设置中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多