admin管理员组文章数量:1430597
I am tying to use the standard WordPress search, but when I attempted to search I am taking to an index instead of the search results. The search url seems correct: /?s=admissions
Search form
<form role="search" method="get" class="search-form" action="/">
<label for="search-form-5cb5f4940c0aa">
<span class="screen-reader-text">Search for:</span>
</label>
<input type="search" id="search-form-5cb5f4940c0aa" class="search-field" placeholder="Search …" value="" name="s" />
<button type="submit" class="search-submit"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><span class="screen-reader-text">Search</span></button>
Search.php
<?php
/** * The template for displaying search results pages * * @link * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * @version 1.0 */
get_header(); ?>
<header class="page-header">
<?php if ( have_posts() ) : ?>
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyseventeen' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
<?php else : ?>
<h1 class="page-title"><?php _e( 'Nothing Found', 'twentyseventeen' ); ?></h1>
<?php endif; ?>
</header><!-- .page-header -->
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ( have_posts() ) :
/* Start the Loop */
while ( have_posts() ) : the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/post/content', 'excerpt' );
endwhile; // End of the loop.
the_posts_pagination( array(
'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>',
) );
else : ?>
<p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentyseventeen' ); ?></p>
<?php
get_search_form();
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
Any suggestions on what I am missing here?
Screenshot examples
.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
I am tying to use the standard WordPress search, but when I attempted to search I am taking to an index instead of the search results. The search url seems correct: https://example/blog/?s=admissions
Search form
<form role="search" method="get" class="search-form" action="https://example/blog/">
<label for="search-form-5cb5f4940c0aa">
<span class="screen-reader-text">Search for:</span>
</label>
<input type="search" id="search-form-5cb5f4940c0aa" class="search-field" placeholder="Search …" value="" name="s" />
<button type="submit" class="search-submit"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><span class="screen-reader-text">Search</span></button>
Search.php
<?php
/** * The template for displaying search results pages * * @link https://developer.wordpress/themes/basics/template-hierarchy/#search-result * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * @version 1.0 */
get_header(); ?>
<header class="page-header">
<?php if ( have_posts() ) : ?>
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyseventeen' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
<?php else : ?>
<h1 class="page-title"><?php _e( 'Nothing Found', 'twentyseventeen' ); ?></h1>
<?php endif; ?>
</header><!-- .page-header -->
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ( have_posts() ) :
/* Start the Loop */
while ( have_posts() ) : the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/post/content', 'excerpt' );
endwhile; // End of the loop.
the_posts_pagination( array(
'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>',
) );
else : ?>
<p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentyseventeen' ); ?></p>
<?php
get_search_form();
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
Any suggestions on what I am missing here?
Screenshot examples
.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
Share
Improve this question
edited Apr 19, 2019 at 2:53
John Booz
asked Apr 16, 2019 at 15:36
John BoozJohn Booz
11 bronze badge
2
- Hi John! This sounds like a server configuration issue. Can you provide a copy of your htaccess or nginx file? – MikeNGarrett Commented Apr 16, 2019 at 16:13
- # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] </IfModule> # END WordPress – John Booz Commented Apr 17, 2019 at 1:15
2 Answers
Reset to default 0The problem was due to htaccess file that was in the root directory.
**`.htaccess`**
DirectoryIndex start.php
This was causing all of the index.php files to be changed to start.php. This filr did not exist in my wordpress directory. When I renamed the index.php to start.php in the wordpress installed sub directory the search started to work.
I removed the DirectoryIndex command from the root directory and changed start.php to index.php. Wordpress blog is now working correctly. Thanks, John
If your theme is using the standard searching process, then you need to create a Child Theme and then clone/edit the themes search.php file.
If you are using your own search form, then please describe how you are implementing it on your site.
Search forms (and results) are best coded through the search.php template in your theme. Using a Child Theme makes sure that any theme updates don't overwrite changes you make to the theme's search.php file.
本文标签: Search redirects to index
版权声明:本文标题:Search redirects to index 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745543114a2662585.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论