plex非Windows宿主环境中.htaccess规则帮助

00jrzges  于 2022-11-16  发布在  Windows
关注(0)|答案(2)|浏览(133)

我在写一个.htaccess的规则时遇到了麻烦,这个规则会将HTML重定向到PHP。我一直在使用302,直到我让它正常工作--然后我会改为301。我找到了几个描述这个问题的帖子,但我遇到了问题--可能是因为我正在运行一个托管包,每个客户端都在一个虚拟/子文件夹中(抱歉对托管环境的描述很糟糕)。
我使用的规则是...
重写引擎已打开
[R=302]返回上一页
...
当我尝试转到https://dmcelebratealife.com/index.html时,我收到一条404消息,内容是:
https://www.dmcelebratealife.com/var/www/vhosts/dmcelebratealife.com/public_html/index.php

uelo1irk

uelo1irk1#

我添加了以下内容,它似乎对我有用。

RewriteEngine on
RewriteRule ^(.*)\.html$ /$1.php [R=302]
rqqzpn5f

rqqzpn5f2#

这对我很有效,并且是独立于域的。

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(?!.+\.\w{2,4})(.+)$ $1.php [L]
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(?!.+\.\w{2,4})(.+)$ $1.html [L]

如果php文件存在,前两个会重定向到该文件。如果不存在,后两个会尝试重定向到HTML文件。
注意它没有使用302,因为你不想告诉用户你在做什么。这是一个内部重定向。
这意味着如果用户键入
https://www.example.com/test
它将保留在URL框中,但将执行以下文件
https://www.example.com/test.php

相关问题