重写网址离线但不在线

时间:2017-10-16 07:40:25

标签: php

我想从我的网址中删除.php扩展程序。问题是我的一些文件夹与我的一些页面共享相同的名称。例如,我有一个名为" materiel"的文件夹。和一个名为" materiel.php"的页面。我用这段代码找到了解决方案:

Options -MultiViews

RewriteEngine On

# Manually re-route materiel/ requests to materiel 
RewriteCond %{REQUEST_FILENAME} materiel/$
RewriteRule ^(.*)/$ $1

# Hide extension 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

它在我的本地版本的网站上工作正常,但不在线(它导致错误页面)。我已经尝试在我的代码中添加选项-MultiViews和DirectorySlash Off但没有成功。我的主人是1& 1。也许有人已经遇到过这样的问题?

提前感谢您的回答。

2 个答案:

答案 0 :(得分:1)

Options -MultiViews

RewriteEngine On
RewriteBase /

# Manually re-route materiel/ requests to materiel 
RewriteCond %{REQUEST_FILENAME} materiel/$
RewriteRule ^(.*)/$ $1

# Hide extension 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

尝试将RewriteBase设置为基本目录。

答案 1 :(得分:0)

要排除目录被重写,您可以添加

       $params = \Yii::$app->request->post();

        $length = count($params['values']);
        for($i = 0; $i < $length; $i++) {

            if(!empty($params['values']['protein_question_' . $i . '_typing_method'])) {
                echo $params['values']['protein_question_' . $i . '_typing_method'] . "<br /><hr />";
            }

        }

作为你的重写条件之一。