gpt4 book ai didi

php - 如何制定从 id 到 name 的 htaccess 规则

转载 作者:可可西里 更新时间:2023-11-01 12:56:29 25 4
gpt4 key购买 nike

我有一个唯一数据列表:

假设我有以下数据:

id    name
1 Jhon
2 Peter
3 Mark
4 Scotty
5 Marry

我为 id 制定了一个 .htaccess 规则:

RewriteRule brandlisting/(.*)/ site/brandlisting?id=$1 [L]
RewriteRule brandlisting/(.*) site/brandlisting?id=$1 [L]

我的网址是:

http://localhost/mate/admin/site/brandlisting/3

这适用于 id。

现在我需要一个 .htaccess 名称规则,所以我为它制定了一个规则:

RewriteRule brandlisting/(.*)/ site/brandlisting?name=$1 [L]
RewriteRule brandlisting/(.*) site/brandlisting?name=$1 [L]

http://localhost/mate/admin/site/brandlisting/Mark

当我使用上述 URL 时,我在控制台中遇到以下错误:

"NetworkError: 400 Bad Request - http://localhost/mate/admin/site/brandlisting/Mark"

在浏览器中显示:

Error 400 Your request is invalid.

我当前的 .htaccess 文件

RewriteEngine on

RewriteCond %{HTTP_HOST} ^localhost/mate/admin$ [NC,OR]
RewriteCond %{HTTP_HOST} ^localhost/mate/admin$

RewriteCond %{REQUEST_URI} !wordpress/
RewriteRule (.*) /wordpress/$1 [L]

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

#RewriteRule brandlisting/(.*)/ site/brandlisting?id=$1 [L]
#RewriteRule brandlisting/(.*) site/brandlisting?id=$1 [L]

RewriteRule brandlisting/(.*)/ site/brandlisting?name=$1 [L]
RewriteRule brandlisting/(.*) site/brandlisting?name=$1 [L]

最佳答案

我从你当前的 .htaccess 开始,你已经在一个 .htaccess 中处理了所有满足你需求的可用规则,例如 wordpress 的规则它应该在安装 wordpress 的目录。

如果您在根目录中尝试,根据您的要求,您的规则应该是这样的,

RewriteEngine on

RewriteBase /mate/admin/

RewriteRule site/brandlisting/([\d]+)/?$ site/brandlisting.php?id=$1 [L]
RewriteRule site/brandlisting/([a-zA-Z]+)/?$ site/brandlisting.php?name=$1 [L]

对于 wordpress 你的目录,你可以创建单独的 .htaccess,你可以在其中放置你的规则 index.php。

关于php - 如何制定从 id 到 name 的 htaccess 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41757811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com