apache htaccess将第一段映射为参数,而不会干扰其他参数

时间:2013-07-07 06:21:25

标签: apache .htaccess mod-rewrite

这可能是一个经典的.htaccess问题,但我仍然找不到我的具体案例的问题。这是我发现的closest(参数涉及我的情况)。完成了两个答案的实施。无法适用于我的案例。

我的案例

1)我想要访问此网址

mywebsite.com/any-first-segment?param1=a&param2=b&param3=c&paramN=anything

将重新映射到

mywebsite.com/index.php?p=any-first-segment&param1=a&param2=b&param3=c&paramN=anything

2)如果没有参数,仍然有效。

3)我永远不会有多个细分。 (零段仍然有效,像往常一样映射到index.php)


你可以建议我为这个案件工作RewriteRule吗?

这是最后一个仍然无效的.htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]

[已更新!] 它正在发挥作用。在阅读this

后,我发现我弄错了Options +FollowSymLinks

这是工作的.htaccess。除了。

RewriteEngine On
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]

1 个答案:

答案 0 :(得分:0)

使用规则中的QSA flag会将当前查询字符串附加到重写的表单。