0

我有一个带有文件夹的站点,以及该文件夹中的 htaccess 文件。对于该文件夹中的 index.php 文件,我想为某个参数重写查询字符串,以便输入以下 URL:

www.example.com/myfolder/myparameter

像这样表现(即$_GET['parameter'] = 'myparameter'在我的代码中制作)

www.example.com/myfolder/index.php?parameter=myparameter

我在 StackOverflow 上查看了很多问题,但没有设法让它发挥作用。到目前为止我的代码是

RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*) [NC]
RewriteRule ^$ %0 [QSA]

但这根本行不通。

4

2 回答 2

1

请使用此代码

RewriteEngine on
RewriteRule (.*) index\.php?parameter=$1 [L,QSA]
于 2012-12-18T12:54:24.730 回答
0
RewriteEngine on
RewriteRule (^.*/)([^/]+)$  $1index\.php?parameter=$2   [L,QSA]

更新
对不起使用@somasundaram 的答案。每个目录的 .htaccess 重写规则会丢失目录前缀:

在 .htaccess 文件中使用重写引擎时,每个目录的前缀(对于特定目录始终相同)会自动删除以进行 RewriteRule 模式匹配,并在任何相对(不以斜杠或协议名称开头)替换后自动添加遇到规则集的结尾。有关将哪些前缀添加回相对替换的更多信息,请参阅 RewriteBase 指令。

(来自apache 文档

于 2012-12-18T13:24:32.077 回答