我想在我的htaccess中添加一个重写条件,如果调用php文件返回“true”则返回true,否则返回false。我在我的RewriteCond中使用-U开关来运行子请求,如果条件不满足,PHP脚本会返回404错误,触发rewriteCond。
我的目标是与PHP网站并行运行URL缩短服务。
这是我目前的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond /smallurl/%{REQUEST_URI} !-U
RewriteRule (.*) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) smallurl/$1 [L]
实现这样的目标的最佳做法是什么? Recomendations,我应该注意的事情?有没有办法避免子请求,或至少加快它?
谢谢
答案 0 :(得分:0)
您可以使用RewriteMap
将REQUEST_URI
传递给php文件,该文件会返回结果 - 我认为这可以与RewriteCond
一起使用,但您可能会发现它效果更好标准RewriteRule
规格为http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteMap
基本上,你的php文件需要从php:// stdin读取并输出结果到stdout
抱歉,我不能提供更多帮助,这不是我长期以来所做的事情!