尝试在godaddy上设置基本路由,但只有前两种情况下与根一起工作,但不适用于带有单词的情况-浏览器返回Not Found。我的猜测是,它搜索的不是路由情况,而是URL中带有单词的文件夹/文件,我尝试的都不起作用。
.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
字符串
index.php:
<?php
$request = $_SERVER['REQUEST_URI'];
$viewDir = '/';
switch ($request) {
case '':
case '/':
require __DIR__ . $viewDir . 'home.html';
break;
case '/test':
require __DIR__ . $viewDir . 'boost.html';
break;
}
型
主机类型:豪华Linux托管与cPanel
即使删除了.htaccess代码,index.php中的前两种情况也可以工作。我重命名了index.php文件,甚至根路由也不起作用-这意味着htaccess从未工作过。Godaddy在共享主机上不分配Apache配置访问权限,但允许配置.htaccess文件。
2条答案
按热度按时间rqenqsqc1#
而不是mod_rewrite旧的食谱,我们仍然遭受和看到,所有像这样的问题应该去一个更现代/实际和简单的方法,不需要mod_rewrite在所有。
字符串
第一个将在请求目录路径时查找index.php,如结尾有斜杠。
第二个将在请求指向非静态或不存在的元素时加载/index. php。
需要的模块:mod_dir
neekobn82#
稍微修改一下规则:RewriteRule ^(.*)$ index.php?$1 [QSA,L]
谢谢大家的有益的意见!