从永久链接中删除index.php时,Wordpress single.php无效

时间:2016-03-31 07:35:42

标签: php wordpress

我是wordpress主题开发的新手,刚开始用bootstrap创建一个3.我在我的localhost上运行wordpress在nginx webserver上。我创建了index.php文件并在其上列出帖子了解更多按钮并将他们的标题链接到帖子的永久链接,并创建了single.php。它也工作正常,但我觉得我的代码有问题。

我的帖子的永久链接看起来像这样。总是显示index.php

 [
  {
    "id": 22,
    "name": "FPS-T25831236-1450251690209",
    "lastUpdated": 1450251690213,
    "createdBy": "Janaki",
    "onBoarded": 1450251668000,
    "activeFlag": true,
    "createdBySafeId": "UC192791",
    "sourceApplication": "FPS",
    "subSource": "T25831236",
    "type": "orderid",
    "tag": [
      "Arunesh",
      "mamatha"
    ],
    "comment": null,
    "privateNote": true,
    "reference": [
      "T25831111"
    ],
    "expiryDate": 1606630852
  },
  {
    "id": 23,
    "name": "FPS-T25831236-1450251728342",
    "lastUpdated": 1450251728347,
    "createdBy": "Janaki",
    "onBoarded": 1450251668000,
    "activeFlag": true,
    "createdBySafeId": "UC192791",
    "sourceApplication": "FPS",
    "subSource": "T25831236",
    "type": "orderid",
    "tag": [
      "Arunesh",
      "mamatha"
    ],
    "comment": null,
    "privateNote": true,
    "reference": [
      "T25831111"
    ],
    "expiryDate": 1606630852
  }
]

所以我将帖子的永久链接更改为自定义并删除了“index.php”。之后我的signle.php不起作用。我的意思是它给了我一个错误404.

这是我的single.php

http://www.blog.dev/index.php/%postname

如何解决这个问题?

谢谢! Srivin Prabhash

3 个答案:

答案 0 :(得分:1)

这是你可能想要使用的整个single.php / start w

<?php
/**
 * The Template for displaying all single posts.
 */

get_header(); ?>

<div id="content" role="main">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
        <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
        <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>

        <div class="entry">
            <?php the_content(); ?>
        </div>

        <p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>
    </div>
    <?php endwhile; endif; ?>

</div><!-- #content -->

答案 1 :(得分:1)

我认为你在index.php中犯了一些错误。 将此代码放在index.php文件中。

    if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <h4><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h4>
    <h5>Posted By :  <?php the_author(); ?> | Date : <?php echo the_date('d-m-y'); ?></h5>
    <p><?php  the_excerpt(); ?></p>
    <a href="<?php the_permalink();?>"> Read more </a>
    <?php endwhile; ?>
    <?php endif; ?>
  <?php wp_reset_query(); ?>    

如果您遇到此问题,请从根目录中删除.htaccess文件并更改永久链接设置。在删除.htaccess文件之前暂停备份。

我希望这对你有用。

答案 2 :(得分:0)

在根文件夹中添加.htaccess文件并将此代码粘贴到文件

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

然后转到设置 - &gt;永久链接并选择postname。它会起作用