我在RewriteRule文件中给出了一个.htaccess规则,如下所示,但是我没有得到结果。
我现在的网址是:example.com/blog?page=3
example.com/blog-page-3我在下面的RewriteRule文件中给出了.htaccess文件。但没有得到任何结果。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
#for nice url
RewriteRule ^blog-([0-9a-zA-Z]+) blog?page=$1 [NC,L]发布于 2020-01-01 22:56:13
试试这个:
# Turn On Mod Rewrite
RewriteEngine On
# Rewrite Condition only if is not a file
RewriteCond %{REQUEST_FILENAME} !-f
# Rewrite Condition only if is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite Rule to friendly URL'S
# QSA = QueryString Appended
# L = means if the rule matches, don't process any more RewriteRules below this one
# $1 = query string to pass
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]然后,在您的index.php文件中,您可以捕获$_GET‘’page‘并分配给您的php文件.如果收入超过一个param博客-页面-1,你可以使用一个爆炸(‘-’,$_GET'page')来查看内部和外泄到其他php文件.示例:
index.php
<?php
if (isset($_GET['page'])) {
$route = explode('-', $_GET['page']);
if (isset($route[0]) && $route[0] == 'home') {
// Just an example for other pages
include 'home.php';
} elseif (isset($route[0]) && $route[0] == 'category') {
// Just an example for other pages
include 'category.php';
} elseif (isset($route[0]) && $route[0] == 'blog') {
// blog page
include 'blog.php';
} else {
// Error404 page
include 'error404.php';
}
} else {
include 'home.php';
}
?>blog.php
<?php
if (!isset($route[1])) {
echo "You're in main blog";
} else {
if ($route[1] == 'page' && (isset($route[2]) && is_numeric($route[2]))) {
echo sprintf("You're inside the page %d", $route[2]);
} else {
include 'error404.php';
}
}发布于 2020-01-01 21:01:10
试试这个:
RewriteRule "/blog-page-3" "/blog?page=3" [R,L]https://stackoverflow.com/questions/59552143
复制相似问题