首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使RewriteRule在.htaccess中工作?

如何使RewriteRule在.htaccess中工作?
EN

Stack Overflow用户
提问于 2020-01-01 11:35:21
回答 2查看 44关注 0票数 0

我在RewriteRule文件中给出了一个.htaccess规则,如下所示,但是我没有得到结果。

我现在的网址是:example.com/blog?page=3

  • I想要它就像:example.com/blog-page-3

我在下面的RewriteRule文件中给出了.htaccess文件。但没有得到任何结果。

代码语言:javascript
复制
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]
EN

回答 2

Stack Overflow用户

发布于 2020-01-01 22:56:13

试试这个:

代码语言:javascript
复制
# 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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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';
  }
}
票数 1
EN

Stack Overflow用户

发布于 2020-01-01 21:01:10

试试这个:

代码语言:javascript
复制
RewriteRule "/blog-page-3" "/blog?page=3" [R,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59552143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档