我想从我的网址中删除.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。也许有人已经遇到过这样的问题?
提前感谢您的回答。
答案 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 />";
}
}
作为你的重写条件之一。