and*_*wpo 2 regex .htaccess mod-rewrite
htaccess 文件重定向如下:
pagename.com/foo -> pagename.com/index.php?view=foo
它在 htaccess 中的工作代码是
RewriteRule ^foo$ index.php?view=foo [L]
Run Code Online (Sandbox Code Playgroud)
但我也想使用参数。所以看起来是这样的
pagename.com/foo?parameter1=bar -> pagename.com/index.php?view=foo¶meter1=bar
我已经创建的是:
RewriteRule ^foo\?([^-]+)$ index.php?view=foo&$1 [L]
Run Code Online (Sandbox Code Playgroud)
但它无法正常工作 - 我被重定向到查看 foo 但参数未传递
有任何想法吗?先感谢您
编辑:
RewriteRule ^foo/?([^-]+)$ index.php?view=foo&$1 [L,QSA]
RewriteRule ^foo/?$ index.php?view=foo [L,QSA]
Run Code Online (Sandbox Code Playgroud)
既可以单独使用,也可以与
RewriteCond %{REQUEST_FILENAME} !-f
Run Code Online (Sandbox Code Playgroud)
无法得到它
编辑2:
对同一 foo 页面进行了另一个重写规则 - 只是将 QSA 添加到第一个页面,如下所示:
RewriteRule ^foo$ index.php?view=foo [L,QSA]
Run Code Online (Sandbox Code Playgroud)
它有效
请记住,RewriteRule 仅匹配REUQEST_URI
没有查询字符串的情况。
QSA
为此,您只需要标志:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^foo/?$ index.php?view=foo [L,QSA]
Run Code Online (Sandbox Code Playgroud)
QSA -(查询字符串附加)用于将现有查询字符串附加到新查询字符串。
归档时间: |
|
查看次数: |
5370 次 |
最近记录: |