【问题标题】:How rewrite TWO URLS for .HTACCESS?如何为 .HTACCESS 重写两个 URL?
【发布时间】:2017-03-15 07:17:06
【问题描述】:

网站的一页有这样的添加:domain.com/posts/name.php
网站其他页面有这样的补充:domain.com/pages/name.php
我只需要删除这些添加 posts/pages/

首先,我尝试在 .htaccess 中使用下一条规则:

RewriteRule ^([A-z0-9-]+)$ /posts/$1
RewriteRule ^([A-z0-9-]+)$ /pages/$1

别帮忙。

其次,我尝试在.htaccess中使用这样的规则和条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ posts/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ pages/$1 [L]

结果:image of mistake 404
我也试过用这种方法:

RewriteCond %{REQUEST_URI} ^([A-z0-9-]+)$/(posts|pages)/([A-z0-9-]+)/$1 [NC]
RewriteRule .* domain.com/%1%3

不要帮忙....

【问题讨论】:

  • 你不能对多个条件使用相同的情况,你必须对第二条规则使用其他条件。
  • 例如? %{REQUEST_URI} 的条件?你能帮忙吗?

标签: php apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

我了解您需要从 url 中删除帖子和页面,以下代码将为您提供帮助。

你需要 Apache 的重写模块:mod_rewrite。

然后做这样的事情:

    RewriteEngine on 
RewriteRule ^post/(.*)$ $1
RewriteRule ^pages/(.*)$ $1

这里是mod_rewrite的官方文档:点击

请在我对代码进行测试后对其进行测试,但对于替换 url 及其对我的工作也是如此。

【讨论】:

  • 不幸的是,这段代码对我的情况没有帮助。现在我有这样的消息:c2n.me/3ItekhF.jpg
  • 我认为,所有情况都在条件... Itried 这样的条件:RewriteCond %{REQUEST_URI} ^(.*)/(posts|pages)/(.*) - 不要帮助。在我尝试使用条件后:RewriteCond %{REQUEST_URI} ^([A-z0-9-]+)/(posts|pages)/([A-z0-9-]+) - 也没有帮助。为什么?我能做什么?
【解决方案2】:

谢谢。

这个问题的解决方法是这样的:

  1. 我们在MYSQL数据库中输入有关页面的所有信息: image of database
  2. 我们从数据库中生成一个页面: generation of page (php)

【讨论】:

    【解决方案3】:
    1. 为人性化的 URL 设置生成的页面: file .htaccess

    所以一切正常,POSTS 在他们的数据库文件夹中,PAGES 在他们的文件夹中。 folder in database

    一切都很干净。如果你能在某处做得更好,请纠正我。

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      相关资源
      最近更新 更多