Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Htaccess Mod Rewrite创建SEO友好的URL_Php_.htaccess - Fatal编程技术网

Php 使用Htaccess Mod Rewrite创建SEO友好的URL

Php 使用Htaccess Mod Rewrite创建SEO友好的URL,php,.htaccess,Php,.htaccess,我想用Htaccess Mod Rewrite创建SEO友好的URL,如下所示: http://localhost/try/pagination/page/4 但现在我们点击下一步按钮时显示输出 http://localhost/try/pagination.php/page/pagination.php/page/2 我的php代码是: <?php //include 'config.php'; define('DB_HOST', 'localhost'); define('DB_

我想用Htaccess Mod Rewrite创建SEO友好的URL,如下所示:

http://localhost/try/pagination/page/4
但现在我们点击下一步按钮时显示输出

http://localhost/try/pagination.php/page/pagination.php/page/2
我的php代码是:

<?php

//include 'config.php';
define('DB_HOST', 'localhost');
define('DB_NAME', 'wr');
define('DB_USER','root');
define('DB_PASSWORD','');

$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());

echo $_GET['page'];

$rowsPerPage = 1;

if(isset($_GET['page']))
{
$pageNum= $_GET['page'];
}
else
$pageNum = 1;
$previousRows =($pageNum - 1) * $rowsPerPage;
$query = "SELECT * FROM articles LIMIT $previousRows, $rowsPerPage";
$result = mysql_query($query) or die('Error couldn\'t get the data').mysql_error();
echo "<table border=1>\n";
echo "<tr><th>ID</th><th>Name</th><th>Password</th><th>Perm</th><th>Email</th>
<th>Date</th></tr>";
while(list($id,$title,$content) = mysql_fetch_array($result))
{
echo "<tr><td>$id</td><td>$title</td><td>$content</td></tr>";
}
echo '</table>';
$query = "SELECT COUNT(title) AS numrows FROM articles";
$result = mysql_query($query) or die('Error, couldn\'t get count title=\"$page\"').mysql_error();
$row = mysql_fetch_assoc($result);
$numrows = $row['numrows'];
$lastPage = ceil($numrows/$rowsPerPage);
echo $lastPage;
$phpself = "pagination.php";
echo $phpself;
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$phpself?page=$page\" title=\"Page $page\">[Back]</a> ";
$first = " <a href=\"$phpself?page=1\" title=\"Page 1\">[First Page]</a> ";
}
else
{
$prev = ' [Back] ';
$first = ' [First Page] ';
}
if ($pageNum < $lastPage)
{
$page = $pageNum + 1;  
$next = " <a href=\"$phpself/page/$page\" title=\"Page $page\">[Next]</a> ";
$last = " <a href=\"$phpself?page=$lastPage\" title=\"Page $lastPage\">[Last Page]</a> ";
}
else
{
$next = ' [Next] ';
$last = ' [Last Page] ';
}
echo $first . $prev . " Showing page <bold>$pageNum</bold> of
<bold>$lastPage</bold> pages " . $next . $last;
?>
下一个要求是我们是否传递两个变量

http://localhost/try/pagination/tag/php/page/2

如何更改Php代码和
.htaccess
文件?

假设您的
.htaccess
文件位于docroot中,您的意思是希望您的URL以“SEO友好”格式显示,即/try/pagination/page/4

RewriteEngine On
RewriteRule ^try/pagination/page/([0-9]+)/?$ /try/pagination.php?page=$1 [L]

然后需要更新生成URL的代码;例如,替换:

$prev = " <a href=\"$phpself?page=$page\" title=\"Page $page\">[Back]</a> ";
$prev=”“;
与:

$prev=”“;

mysql\u
*ahem*:
http://localhost/wr/try/pagination.php/page/pagination.php/page/2
这真的是URL吗?2x
pagination.php
in it。。。您在哪里找到了这种模式:
RewriteRule^pagination/([0-9]+)\.html$pagination.php?page=$1
-这只是重写pagination/123.html之类的东西,似乎根本不符合您的要求…现在更新帖子,请给我解决方案,因为我很难准确地了解您想要实现的目标,你想要一个像
http://localhost/try/pagination/page/4
指向
http://localhost/try/pagination.php?page=4
?我想将此seo友好url:转换为:如果单击“下一步”按钮,我将替换代码而不显示正确的输出显示输出下一个输出显示:页面找不到,因为(分页/page/)再次添加,以显示无法找到输出页面哪里有
/wr/
来源?是否更新了生成下一页链接的代码?如果只键入
http://localhost/try/pagination/page/3
在地址栏中?wr和try是文件夹名称(您可以忽略它)因此,我正在逐步显示按页面显示转到第2页显示链接输出正常,现在转到第3页显示输出现在显示输出为:页面找不到原因(分页/page/)==再次添加------主要问题是如果我们转到下一页,则添加(分页/page/)一次又一次这样转到第三页显示url:
$prev = " <a href=\"$phpself?page=$page\" title=\"Page $page\">[Back]</a> ";
$prev = " <a href=\"/try/pagination/page/{$page}\" title=\"Page $page\">[Back]</a> ";