我需要使用.htaccess将自定义单词添加到我的URL中

时间:2015-09-23 09:05:51

标签: php .htaccess url-rewriting

假设这是我的域名:

www.mydomain.com

自定义单词应该在域之后,这是一个例子:

www.mydomain.com/[my-custom-word]/directory1?data1=1&data2=2

我希望这成为:

www.mydomain.com/directory1?data1=1&data2=2

我已经尝试过这个问题的答案:

How to add a custom word to my domain URL for every request?

这是我的.htaccess代码(根据所附链接的答案):

RewriteEngine On
RewriteRule ^([A-Za-z0-9-.]+)/directory1/?$ directory1?customword=$1

但这忽略了从URL传递的PHP其他GET数据,我只从GET数据中获取[my-custom-word]。

[my-custom-word]这个词是动态的,我认为根据我在DB中的每条记录创建一个[my-custom-word]文件夹是不值得的。

1 个答案:

答案 0 :(得分:2)

您需要通过在字符类的最后或第一个位置放置连字符来修复正则表达式,并使用QSA标志来保留现有的查询字符串:

RewriteEngine On

RewriteRule ^([A-Za-z0-9.-]+)/directory1/?$ directory1/?customword=$1 [L,QSA,NC]