0

这可能是一个经典的 .htaccess 问题,但我仍然找不到适合我的具体案例的问题。这是我找到的最接近的(参数涉及我的案例)。完成了两个答案的实现。无法为我的情况工作。

我的情况

1) 我想要访问此 URL,

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]

[更新!]它正在工作。Options +FollowSymLinks读完这篇我发现我搞砸了

这是工作的.htaccess。例外。

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

1 回答 1

0

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

于 2013-07-07T06:25:55.753 回答