AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 937240
Accepted
Donna Delour
Donna Delour
Asked: 2018-10-26 10:55:52 +0800 CST2018-10-26 10:55:52 +0800 CST 2018-10-26 10:55:52 +0800 CST

试图让友好的 URL 工作

  • 772

我一直在努力让友好的 URL 起作用。

在我的网站上,我有这样的东西:

http://www.example.com/blog/newpost.php?id=Reasons+to+Use+a+Small+Business+Consultant

我希望它看起来像这样:

http://www.example.com/blog/Reasons+to+Use+a+Small+Business+Consultant

我试图同时编辑 httpd.conf 和 .htaccess 并且没有得到响应。

httpd.conf:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/sites/example
    ServerName www.example.com
    <Directory /var/www/sites/example/blog>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

.ht 访问:

RewriteEngine On
RewriteRule ^blog/Reasons+to+Use+a+Small+Business+Consultant$ blog/newpost.php?id=Reasons+to+Use+a+Small+Business+Consultant

日志级别警报重写:trace3

跟踪日志说它正在应用该模式,但我仍然看到:

http://www.example.com/blog/newpost.php?id=Reasons+to+Use+a+Small+Business+Consultant

[Thu Oct 25 18:39:17.821619 2018] [rewrite:trace3] [pid 27933] mod_rewrite.c(470): [client 123.321.64.56:58790] 123.321.64.56 - - [www.example.com/sid#558610b6a4a8][rid#558610d3d740/initial] [perdir /var/www/sites/example/blog/] strip per-dir prefix: /var/www/sites/example/blog/newpost.php -> newpost.php, referer: http://www.example.com/blog/
[Thu Oct 25 18:39:17.821648 2018] [rewrite:trace3] [pid 27933] mod_rewrite.c(470): [client 123.321.64.56:58790] 123.321.64.56 - - [www.example.com/sid#558610b6a4a8][rid#558610d3d740/initial] [perdir /var/www/sites/example/blog/] applying pattern '^blog/Reasons+to+Use+a+Small+Business+Consultant$' to uri 'newpost.php', referer: http://www.example.com/blog/
[Thu Oct 25 18:39:17.821654 2018] [rewrite:trace1] [pid 27933] mod_rewrite.c(470): [client 123.321.64.56:58790] 123.321.64.56 - - [www.example.com/sid#558610b6a4a8][rid#558610d3d740/initial] [perdir /var/www/sites/example/blog/] pass through /var/www/sites/example/blog/newpost.php, referer: http://www.example.com/blog/
apache-2.4
  • 1 1 个回答
  • 134 Views

1 个回答

  • Voted
  1. Best Answer
    ColtonCat
    2018-11-19T01:07:56+08:002018-11-19T01:07:56+08:00

    这可能会起作用:

    RewriteEngine On
    RewriteRule /blog/(.*) %{HTTP_HOST}/blog/newpost.php?$1 [L]
    

    您的正则表达式以^blog.... 这将永远不会匹配您发送的内容,因为缺少初始 /。您所说的正则表达式匹配以 开头的 URL blog/...,但实际上主机名:端口后总是有一个斜杠。

    请参阅RewriteRule的文档:特别是:

    模式最初将与主机名和端口之后、查询字符串之前的 URL 部分匹配(例如“/app1/index.html”)。

    我的例子更通用;如果您需要它用于非常特定的路径,就像您所拥有的那样,那么请务必将其改回并替换(.*)分组以及$1您拥有的内容。

    • 0

相关问题

  • Apache2 - SSL 不工作

  • Apache <VirtualHost> 标签,如果客户端的 IP = x 则不重定向... 怎么做?

  • 我无法启用我的网站?[关闭]

  • SELinux 阻止 Apache 写入文件

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve