apache 只有根路由工作在Godaddy服务器

rjzwgtxy  于 6个月前  发布在  Apache
关注(0)|答案(2)|浏览(60)

尝试在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文件。

rqenqsqc

rqenqsqc1#

而不是mod_rewrite旧的食谱,我们仍然遭受和看到,所有像这样的问题应该去一个更现代/实际和简单的方法,不需要mod_rewrite在所有。

DirectoryIndex index.php # if necessary/needed
FallbackResource /index.php

字符串
第一个将在请求目录路径时查找index.php,如结尾有斜杠。
第二个将在请求指向非静态或不存在的元素时加载/index. php。
需要的模块:mod_dir

neekobn8

neekobn82#

稍微修改一下规则:RewriteRule ^(.*)$ index.php?$1 [QSA,L]
谢谢大家的有益的意见!

相关问题