【问题标题】:htaccess rewrite url query string with index as basehtaccess 以索引为基础重写 url 查询字符串
【发布时间】:2019-05-04 03:37:35
【问题描述】:

这个地方的新海报,但长期用户。

我有一个使用index.php 的网站,然后有一个viewpost.phpcategorypost.php

viewpost 用于查看主要帖子,而 categorypost 用于查看“webdesign”等类别下的帖子。

view post slug 由查询字符串组成,例如:

viewpost.php?postType=services&postCategory=webdesign&postTitle=somepost

然后我希望将其重写为

website/services/webdesign/somepost

第一个问题:

这是使用 3 个文件的正确方法还是我创建的工作超出了需要?

第二个问题:

如果我在正确的或至少是正常的路径上,我该如何进行重定向?

我已经看到了大约 30 条左右的帖子,但发现我很难理解它,最终得到了 500 条回复或直接重定向。

RewriteRule ^(.*)$ viewpost.php?postTag=$1&postCategory=$2&postTitle=$3 [QSA,L]

非常感谢任何帮助。

【问题讨论】:

    标签: .htaccess web


    【解决方案1】:

    如果这些特定链接都可以以同一个词开头,那么它是最简单的,在本例中为“网站”。因为它避免了错误地使用缺少页面的现有文件夹。

    RewriteRule ^website/([^/]+)/([^/]+)/([^/]+)/?$ viewpost.php?postTag=$1&postCategory=$2&postTitle=$3 [NC,QSA,L]
    

    但如果不是这样,你可以使用:

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ viewpost.php?postTag=$1&postCategory=$2&postTitle=$3 [QSA,L]
    

    【讨论】:

    • 谢谢你。有没有办法放置选择文件夹。这是(网站/其他)会做的吗?回家后我会试一试
    • 它不再符合您的基本问题。每个案例都必须进行不同的编程,或者在接收信息的程序中进行排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2021-12-10
    • 2023-03-04
    • 2012-06-16
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多