htaccess查询字符串重定向无法正常工作

时间:2015-06-16 10:26:25

标签: .htaccess

我有一种情况,我想实际看到url变量,即使我的htaccess网站的其余部分使用可读的URL。

问题在于它只是显示为未找到的页面......

这有效......

RewriteRule ^files/(.+)/from_all_files/$ pages/file.php?slug=$1&from=all-files

这不起作用

RewriteRule ^files/(.+)?from=all-files$ pages/file.php?slug=$1&from=all-files

我正在寻找第二个工作。

1 个答案:

答案 0 :(得分:0)

您无法检查RewriteRule中的查询字符串,该{1}}只能看到REQUEST_URI。您需要使用以下内容:

RewriteCond %{QUERY_STRING} ^from=all-files$ [NC]
RewriteRule ^files/(.+)$ pages/file.php?slug=$1 [QSA,L]

当您请求http://example.com/files/some-file?from=all-files时,请求将在内部重写为pages/file.php?slug=some-file&from=all-files。 Query String Append标志(QSA)会将当前查询字符串附加到您要重写的字符串。