这可能是一个经典的 .htaccess 问题,但我仍然找不到适合我的具体情况的问题。这是closest https://stackoverflow.com/questions/9299793/apache-httaccess-rewriting我发现(我的案例涉及到的参数)。完成了两个答案的实施。不适用于我的情况。
My case
1) 我想要此 URL 的任何访问权限,
mywebsite.com/any-first-segment?param1=a¶m2=b¶m3=c¶mN=anything
将被重新映射到
mywebsite.com/index.php?p=any-first-segment¶m1=a¶m2=b¶m3=c¶mN=anything
2)如果没有参数,仍然可以工作。
3)我永远不会有超过一个片段。 (零段仍然有效,照常映射到index.php)
您能为我建议适用于这种情况的 RewriteRule 吗?
这是最后一个 .htaccess,它仍然无法工作
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]
[更新!]
它正在发挥作用。我发现我搞砸了Options +FollowSymLinks
看完之后this https://stackoverflow.com/questions/3829877/htaccess-code-to-set-qsa-for-all-redirects-automatically-globally
这是正在运行的 .htaccess。有例外。
RewriteEngine On
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]
使用QSA flag http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_qsa在您的规则中会将当前查询字符串附加到重写的表单中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)