我对 Apache Rewrites 很陌生,所以这可能是一个简单的问题(找到直接答案并不那么简单)。
所以我有以下重写:
RewriteCond %{QUERY_STRING} ^parm=([a-z]+)$ [NC]
RewriteRule ^path/to/some_script.php /simple-url-$1.html? [R=301,L]
这似乎在测试中按预期运行:
www.mydomain.com/path/to/some/script.php?parm=foo
正确的 301 到:
www.mydomain.com/simple-url-foo.html
但是,我担心的是,如果没有明确定义脚本的 RewriteCond,那么每个请求都会检查此条件,无论它是否针对 some_script.php... 会导致 Apache 产生不必要的负载。
是这样吗?如果是这样,我无法弄清楚在这种情况下如何使用 REQUEST_URI,即 IE:
RewriteCond %{REQUEST_URI} ^path/to/some_script.php [NC]
RewriteCond %{QUERY_STRING} ^parm=([a-z]+)$ [NC]
RewriteRule ^path/to/some_script.php /simple-url-$1.html? [R=301,L]
以上似乎不起作用,我不确定为什么。任何指针?