![我如何将此 nginx 配置表达为 apache2 重写规则?](https://linux22.com/image/602024/%E6%88%91%E5%A6%82%E4%BD%95%E5%B0%86%E6%AD%A4%20nginx%20%E9%85%8D%E7%BD%AE%E8%A1%A8%E8%BE%BE%E4%B8%BA%20apache2%20%E9%87%8D%E5%86%99%E8%A7%84%E5%88%99%EF%BC%9F.png)
if (!-e $request_filename){
rewrite /iOS/(.*jpg)$ /$1 last;
rewrite /iOS/(.*jpeg)$ /$1 last;
rewrite /iOS/(.*png)$ /$1 last;
rewrite /iOS/(.*css)$ /$1 last;
rewrite /iOS/(.*js)$ /$1 last;
rewrite /Android/(.*jpg)$ /$1 last;
rewrite /Android/(.*jpeg)$ /$1 last;
rewrite /Android/(.*png)$ /$1 last;
rewrite /Android/(.*css)$ /$1 last;
rewrite /Android/(.*js)$ /$1 last;
rewrite ^/(.*)$ /?route=$1 last;
}
有一些虚荣网址,例如 mysite.com/yourdetails,由路由器类(它是一个以 index.php 为入口点的 PHP 应用程序)内部处理,它们似乎在 nginx 上运行良好,但在 Apache 上却不行 :-/
我试过了,但虚荣网址不起作用
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L]
在深入研究代码之前,我想先排除 Apache 配置。
答案1
事实证明,除了 Chrome Canary 之外,它们在所有浏览器上运行良好,因为 Chrome Canary 发送了应用程序无法识别的用户代理(这是一个移动应用程序,而 Chrome 的用户代理扩展做了一些奇怪的事情。)