我正在使用php和apache服务器,我想将sites/all/themes/chap2014/fpd/gift.php
重写为fdp/gift
和sites/all/themes/chap2014/fpd/another.php
fdp/another
我想要做到这一点
将sites/all/themes/chap2014/fpd/*.php
重写为fpd/*
重写模式已启用,我在.htacess
文件中尝试下面的代码。
RewriteEngine on
RewriteRule ^fpd/?$ sites/all/themes/chap2014/fpd/$1.php
但没有任何反应,实现这一目标的正确方法是什么?
感谢任何帮助,
答案 0 :(得分:2)
您需要首先在URI模式的LHS上对URI的一部分进行分组和捕获,然后才能在RHS上使用$1
,$2
等。
RewriteEngine on
RewriteRule ^fpd/([^/]+)/?$ /sites/all/themes/chap2014/fpd/$1.php [L,NC]
PS:在您的问题中,您使用了fpd
和fdp
。不确定哪一个是对的。
答案 1 :(得分:2)
试试这个:
RewriteRule ^fpd/(.+)$ sites/all/themes/chap2014/fpd/$1.php
您可能希望排除/
符号,如果是,请将.+
替换为[^/]+
。
您必须将要放置的部分包含在()
的变量中,并且每个封闭的部分将放入$ 1,$ 2,$ 3等等。
此外,这是一个测试重写规则的好工具: