URL重写适用于301或绝对路径,但不是没有

时间:2013-10-18 10:39:52

标签: .htaccess mod-rewrite redirect drupal

我正在尝试在访问http://www.mysite.com/booking-request?code=###等网址时向用户显示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=###

具有明显的不良副作用

我也尝试更改网址以重定向到单个/,以确保它应该查找现有网页,但不会有任何更改。

它可能可能提及这是在一个drupal网站上,/booking-request本质上是一个基本页面,所以drupal将有一些功能来重定向这个页面,但是我不会我认为在这种情况下它应该是重要的。

修改 这是整个htaccess文件的链接:http://pastebin.com/KPE6DK6N

1 个答案:

答案 0 :(得分:0)

尝试将规则更改为:

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

RewriteRule ^booking/([\w\d]+)$ http://www.mysite.com/booking-request?code=$1 [L]

它应该有用。