所以我的重写规则发送请求
www.cruiseandmaritime.com/cruises/French-Leave.php 至
www.cruiseandmaritime.com/cruise_details_by_name.php?id=French-Leave
哪个工作正常
RewriteRule ^cruises/([a-zA-Z0-9-&]+).php?$ cruise_details_by_name.php?id=$1 [NC,L] # Handle requests for all cruises
然而,一些游轮在他们的标题中使用了与号...(不列颠和北方群岛)所以他们会
www.cruiseandmaritime.com/cruises/British-&-Northern-Isles.php
这不起作用,因为我的查询按名称查找巡航,并且传递给我的 get 变量的唯一位是"英国",&和 no &之后没有其他内容
所以我很困惑...
丰富的:)
www.cruiseandmaritime.com/cruises/British-&-Northern-Isles.php
不是有效的 URL,因为&
不应该在那里。从那里开始,它只是一箱垃圾进来就是垃圾出来:)
URL 中的与号应%26
你的正则表达式很奇怪。你认为-&
是什么意思?
我认为它应该是这样的:
[a-zA-Z0-9'&]
我在 http://martinmelin.se/rewrite-rule-tester/上尝试了这个,并不完全知道为什么,但是有效的规则:
([&a-zA-Z0-9-]+)