使用htaccess删除了.php文件扩展名,但现在我的php代码不再有效了?

时间:2018-01-17 22:25:12

标签: php .htaccess

我正在尝试删除在线托管页面的.php文件扩展名。

我设法从我的URL中删除了.php文件,但是我的页面中的一些PHP代码不再有效... php代码现在出现在页面上,因为iof没有编译...页面被调用blog.php的

我的.htaccess如下:

RewriteCond %{REQUEST_URI} ^/blog\.php$

RewriteRule ^blog\.php$ blog[R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#Rewrite to Show.php rather than ./Show.php
RewriteRule ^blog$ blog.php [L]

这是我发现here.

的帖子

页面加载正常,但页面中的PHP代码只是在浏览器上显示而不是被编译。

我的PHP代码是:

<?php include('includes/config.php'); ?>

<?php
                try {

                    $stmt = $db->query('SELECT postID, postTitle, postDesc, postDate FROM blog_posts ORDER BY postID DESC');
                    while($row = $stmt->fetch()){

                        echo '<div class="blog_p">';
                            echo '<h1><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h1>';
                            echo '<p class="dtm">Posted on '.date('jS M Y H:i:s', strtotime($row['postDate'])).'</p>';
                            echo '<p>'.$row['postDesc'].'</p>';             
                            echo '<p class="rm_btn"><a href="viewpost.php?id='.$row['postID'].'">Read More</a></p>';                
                        echo '</div>';

                    }

                } catch(PDOException $e) {
                    echo $e->getMessage();
                }
            ?>

我不明白为什么它不能在浏览器中显示为php文件?

任何?

只是为了信息,在目录中没有任何.htaccess,blog.php文件工作得很好。

1 个答案:

答案 0 :(得分:0)

同时结帐link。你的php缺少.php扩展名可能导致它不被php引擎呈现。尝试添加要由php引擎解析的html文件。

这是我重写的样子,随意尝试

<script 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" 
                                          type="text/javascript"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-
  bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-
       bootstrap/3.0.3/js/bootstrap.min.js" type="text/javascript"></script>
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-
     multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" 
     type="text/css" />
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-
     multiselect/master/dist/js/bootstrap-multiselect.js" 
     type="text/javascript">
</script>

<script type="text/javascript">
    var j = jQuery.noConflict();
    j(function () {
        j('#SvcCodeList').multiselect({
            includeSelectAllOption: false,
            nonSelectedText: 'Select up to 3 service codes.',
            numberDisplayed: 3,
            nSelectedText: ' - Too many options selected!'
        });
    });
</script>

<div class="panel panel-default">
<div class="panel-heading">Enter Service Code and Dates of Service</div>
<div class="panel-body">
    <form asp-controller="Home" asp-action="SvcCodeReport">
        <div>
            <label>Service Code</label>
            <select id="SvcCodeList" multiple="multiple" class="form-
                                                                control">
                <option value="1004">1004-Sverice 1</option>
                <option value="1005">1005-Sverice 2</option>
                <option value="1006">1006-Sverice 3</option>
                <option value="1007">1007-Sverice 4</option>
            </select>
        </div>
        <label>Start Date</label>
        <input type="date" name="datestart" id="start" value=@ViewBag.start 
                                                                          />
        <label>End Date</label>
        <input type="date" name="dateend" id="end" value=@ViewBag.end />
        <input type="submit" value="Search" />

    </form>
</div>
</div>