我无法更改我的流媒体网站主页
I can't change my streaming website homepage
我正在尝试更改我网站的主页,但没有任何反应。在“DirectoryIndex index.html #to make index.html as index”下方输入代码时,我的主页保持不变。我正在更改 .htaccess
中的文件
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^index.php - [L]
RewriteRule ^index.php - [L]
RewriteCond %{REQUEST_FILENAME} !-f
# Change below before deploying to production
#RewriteRule ^(.*)$ index.php [QSA,L]
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
DirectoryIndex index.html #to make index.html as index
我的网站是用php写的,我想把首页放在html
RewriteRule ^(.*)$ index.php [QSA,L]
将 *
量词更改为 +
,使其仅匹配 non-empty URL-paths,以允许 DirectoryIndex
文档(即。index.html
) 为主页请求提供服务,而不是将请求传递给 front-controller(即 index.php
)。或者,只需使用一个点 (.
) 作为正则表达式,因为您不会对捕获的 URL-path 做任何事情。例如:
RewriteRule . index.php [L]
(此处不需要 QSA
标志。)
尽管如此,由于您使用的是 front-controller 模式(即,将所有请求路由到 index.php
),您可能应该配置适当的响应以从 index.php
提供服务?
旁白:
DirectoryIndex index.html #to make index.html as index
您应该删除,您认为 是该行末尾的注释,即。 “#to make index.html as index
”。这实际上不是评论。 Apache 不支持 line-end 注释(仅支持 full-line 注释)。在这种情况下,#to
、make
、index.html
、as
和 index
将被视为 DirectoryIndex
指令的附加参数(因此您实际上并没有收到错误)。
请参阅 以下有关使用 line-end 评论的问题:
更新:
备选方案
请尝试以下操作(这会替换上面的 整个 .htaccess
文件):
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^index\.(php|html)$ - [L]
# Rewrite any request for anything that is not a file to "index.php"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
# Rewrite the homepage only to "index.html"
RewriteRule ^$ index.html [L]
不需要 <IfModule>
包装器。 (这是你的服务器,所以你知道 mod_rewrite 是否启用,这些指令不是可选的。)
确保您在测试前已清除浏览器缓存。
我正在尝试更改我网站的主页,但没有任何反应。在“DirectoryIndex index.html #to make index.html as index”下方输入代码时,我的主页保持不变。我正在更改 .htaccess
中的文件<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^index.php - [L]
RewriteRule ^index.php - [L]
RewriteCond %{REQUEST_FILENAME} !-f
# Change below before deploying to production
#RewriteRule ^(.*)$ index.php [QSA,L]
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
DirectoryIndex index.html #to make index.html as index
我的网站是用php写的,我想把首页放在html
RewriteRule ^(.*)$ index.php [QSA,L]
将 *
量词更改为 +
,使其仅匹配 non-empty URL-paths,以允许 DirectoryIndex
文档(即。index.html
) 为主页请求提供服务,而不是将请求传递给 front-controller(即 index.php
)。或者,只需使用一个点 (.
) 作为正则表达式,因为您不会对捕获的 URL-path 做任何事情。例如:
RewriteRule . index.php [L]
(此处不需要 QSA
标志。)
尽管如此,由于您使用的是 front-controller 模式(即,将所有请求路由到 index.php
),您可能应该配置适当的响应以从 index.php
提供服务?
旁白:
DirectoryIndex index.html #to make index.html as index
您应该删除,您认为 是该行末尾的注释,即。 “#to make index.html as index
”。这实际上不是评论。 Apache 不支持 line-end 注释(仅支持 full-line 注释)。在这种情况下,#to
、make
、index.html
、as
和 index
将被视为 DirectoryIndex
指令的附加参数(因此您实际上并没有收到错误)。
请参阅
更新:
备选方案
请尝试以下操作(这会替换上面的 整个 .htaccess
文件):
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^index\.(php|html)$ - [L]
# Rewrite any request for anything that is not a file to "index.php"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
# Rewrite the homepage only to "index.html"
RewriteRule ^$ index.html [L]
不需要 <IfModule>
包装器。 (这是你的服务器,所以你知道 mod_rewrite 是否启用,这些指令不是可选的。)
确保您在测试前已清除浏览器缓存。