我有脑痉挛。我使用htaccess重写一个页面,有时候通过的变量在变量中会有一个/
(正斜杠)。有时会出现斜线,有时候不会,但所有这些被视为一个变量是非常重要的。我真的不想再编程我有str_replace()
所有的页面切换-
为/
,然后对数据库的调用。例如:htaccess正则表达式与“/”
http://www.example.com/accounting/finance.htm
Accounting/Finance
是一个变量,我需要.....它不是在一个会计目录,然后有一个名为finance.htm在结算页。到目前为止,我有类似
RewriteRule ^([A-Za-z]+.*[A-Za-z]*)\.htm$ mypage.php?page=$1 [L,NC]
但它不喜欢它。
有人可以帮我吗?
在此先感谢。
回复评论/回答
,我正在寻找的具体规则是这样的.....
[字符串的开始] ... 1个或多个字母... [的可能性/后跟1个或多个字母]的.htm [字符串的结尾]
下面给出不工作的两个答案......我敢肯定它保持它当作一个目录,而不是一个实际的“文件名”。当我删除斜杠页作品就好...
林生锈的正则表达式,但你可以这样做([A-ZA-Z /])? –
@DevinM我试过[A-Za-z /] +,它似乎不喜欢那样。我也尝试过[A-Za-z \ /] +和[A-Za-z] + \/* [A-Za-z] + \。htm,它也不喜欢那样。 – n0nag0n
我认为你的例子没有起作用的原因是“。*”是贪婪地把所有东西都吃到URL的末尾,所以它没有任何东西可以与“.htm”匹配。 但是,我不完全清楚你想要什么URL不匹配,所以无法帮助超越。你是否希望这条规则匹配以“.htm”结尾的任何内容? – IMSoP