.htaccess URL重写可以使用301或绝对路径,但不能不使用

.htaccess URL重写可以使用301或绝对路径,但不能不使用,.htaccess,mod-rewrite,redirect,drupal,.htaccess,Mod Rewrite,Redirect,Drupal,我试图向用户展示http://www.mysite.com/booking-request?code=###访问url(如http://www.mysite.com/booking/ZHTU78 我相信这很简单,但我不明白为什么下面的规则不适用于我。我得到的只是一个404错误 RewriteRule ^booking\/([\w\d]+)$ /booking-request?code=$1 [L] 如果我把规则改为 RewriteRule ^booking\/([\w\d]+)$ /booki

我试图向用户展示
http://www.mysite.com/booking-request?code=###
访问url(如
http://www.mysite.com/booking/ZHTU78

我相信这很简单,但我不明白为什么下面的规则不适用于我。我得到的只是一个404错误

RewriteRule ^booking\/([\w\d]+)$ /booking-request?code=$1 [L]
如果我把规则改为

RewriteRule ^booking\/([\w\d]+)$ /booking-request?code=$1 [L,R=301]
它可以工作,但有一个明显的不良副作用,那就是将浏览器重定向到
http://www.mysite.com/booking-request?code=###

我还尝试将url更改为重定向到单个
/
,以确保它应该查找现有页面,但没有更改

可能需要指出的是,这是drupal站点上的一个页面,
/booking request
本质上是一个基本页面,因此drupal将具有一些重定向此页面的功能,但我认为在这种情况下这并不重要

编辑
这里有一个指向整个htaccess文件的链接:

尝试将规则更改为:

RewriteRule ^booking/([\w\d]+)$ /booking-request?code=$1 [L]


它应该可以工作。

在检查此项时,我删除了斜杠上的转义:
^booking/
。同时共享所有其他htaccess规则。“他们中的一个可能在这里进行干预。”伊卡博德很遗憾,这不起作用。我还添加了一个包含所有htaccess规则的粘贴库。它几乎是一个标准的drupal htaccess,添加了一些内容。第一个建议仍然显示404,第二个建议的效果与在规则末尾添加
R=301
相同。它确实重定向,但是url会随之改变,这不是我想要的。-什么是页面类型?意见?自定义模块?您能找到此url的同义词路径吗?该页面是基本页面内容类型。我不确定同义词路径是什么,或者我可以在哪里找到它?“基本页面”-是节点类型?为什么节点需要参数“code”?您可以查看synonym-/admin/config/search/path对不起,内容类型称为基本页面,在数据库中它只是另存为页面。同义词是booking request,它链接到节点/4527。我使用url参数,因为它的值是动态的。
RewriteRule ^booking/([\w\d]+)$ http://www.mysite.com/booking-request?code=$1 [L]