【发布时间】:2022-01-22 19:30:17
【问题描述】:
如果页面“/ua/index.html”存在,如何显示,如果不加载另一个“/index.html”。 补丁不同。
我试过这样设置,但它不起作用:
RewriteCond %{REQUEST_URI} ^$
RewriteCond %{DOCUMENT_ROOT}/ua/index.html -f
RewriteRule ^$ /ua/index.html [L]
对于主页示例:example.com - 如果存在“/ua/index.html”,则加载或不加载“/index.html”
对于其他页面示例: example.com/ua/page1.html - 如果存在“/ua/page1.html”,则加载或不加载“/index.html”
更新 3:
MrWhite 用斜线表示错误,实际上我需要这段代码,但它会创建很多重定向 ERR_TOO_MANY_REDIRECTS
RewriteRule ^ua/index.html$ / [L,R=301]
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{DOCUMENT_ROOT}/ua/index.html -f
RewriteRule .* /ua/index.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(ru|ua)/([^/]+).html$ /?lang=$1&tema=$2 [L]
【问题讨论】:
-
根据您的指令,您只请求文档根目录?
-
@MrWhite 目录第一页,从根开始第二页
-
是的,但是您请求的 URL 是什么?您在浏览器中键入的 URL。
-
@MrWhite 我需要这个才能在主页和其他页面上工作
-
那么,所有个网址?
/、/foo、/bar和/foo/bar如果存在则都植根于/ua/index.html,否则/index.html?但大概像/images/myimage.jpg和/styles/mydesign.css这样的静态资源应该按原样提供?