【发布时间】:2013-08-23 09:49:34
【问题描述】:
我对 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]
上述方法似乎不起作用,我不知道为什么。有什么指点吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite rewrite