Php .htaccess url重写以从url中删除操作名称

Php .htaccess url重写以从url中删除操作名称,php,html,css,.htaccess,Php,Html,Css,.htaccess,我的URL是这样的 domain.com/index.php?id=126&action=Category&name=vegets 我希望我的URL看起来像这样 domain.com/126/Category/vegets 我已经尝试了很多使用.htaccess的方法,但都做不到 需要你的帮助和建议 听起来很直截了当: RewriteEngine on RewriteRule ^/?(\d+)/([^/]+)/([^/]+)$ /index.php?id=$1&action=$2&

我的URL是这样的

domain.com/index.php?id=126&action=Category&name=vegets

我希望我的URL看起来像这样

domain.com/126/Category/vegets

我已经尝试了很多使用.htaccess的方法,但都做不到


需要你的帮助和建议

听起来很直截了当:

RewriteEngine on
RewriteRule ^/?(\d+)/([^/]+)/([^/]+)$ /index.php?id=$1&action=$2&name=$3 [END]
如果您使用上述规则收到内部服务器错误http status 500,那么很可能您操作的是非常旧版本的apache http服务器。在这种情况下,您将在http服务器错误日志文件中看到不受支持的[END]标志的明确提示。您可以尝试升级或使用较旧的[L]标志,在这种情况下,它可能会起同样的作用,不过这取决于您的设置

此实现将在http服务器主机配置中或在分布式配置文件.htaccess文件中同样工作。显然,重写模块需要在http服务器中加载,并在http主机中启用。如果使用分布式配置文件,则需要注意在主机配置中启用该文件的解释,并且该文件位于主机的文档根文件夹中


还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用分布式配置文件.htaccess。这些分布式配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实降低了http服务器的速度。它们只是在您无法访问真正的http服务器主机配置的情况下作为最后一个选项提供的:读:非常便宜的服务提供商,或者应用程序坚持编写自己的规则,这显然是一个安全噩梦

听起来很直截了当:

RewriteEngine on
RewriteRule ^/?(\d+)/([^/]+)/([^/]+)$ /index.php?id=$1&action=$2&name=$3 [END]
如果您使用上述规则收到内部服务器错误http status 500,那么很可能您操作的是非常旧版本的apache http服务器。在这种情况下,您将在http服务器错误日志文件中看到不受支持的[END]标志的明确提示。您可以尝试升级或使用较旧的[L]标志,在这种情况下,它可能会起同样的作用,不过这取决于您的设置

此实现将在http服务器主机配置中或在分布式配置文件.htaccess文件中同样工作。显然,重写模块需要在http服务器中加载,并在http主机中启用。如果使用分布式配置文件,则需要注意在主机配置中启用该文件的解释,并且该文件位于主机的文档根文件夹中

还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用分布式配置文件.htaccess。这些分布式配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实降低了http服务器的速度。它们只是在您无法访问真正的http服务器主机配置的情况下作为最后一个选项提供的:读:非常便宜的服务提供商,或者应用程序坚持编写自己的规则,这显然是一个安全噩梦

重新启动发动机 重写cond%{REQUEST_FILENAME}-D 重写规则^.*/$/$1[L,R] RewriteCond%{THE_REQUEST}\/.*/|?:index\.php?\?name=[^\s&]+[NC] 重写规则^/%1%2/?[R=302,长,东北] 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D 重写cond%{REQUEST_URI}!索引\.php 重写规则^.*/|[^/]*$$1index.php?name=$2/[L] 重新启动发动机 重写cond%{HTTPS}=在…上 重写规则^.*$https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301,NE] 标头始终设置内容安全策略升级不安全请求; 重新启动发动机 重写cond%{REQUEST_FILENAME}-D 重写规则^.*/$/$1[L,R] RewriteCond%{THE_REQUEST}\/.*/|?:index\.php?\?name=[^\s&]+[NC] 重写规则^/%1%2/?[R=302,长,东北] 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D 重写cond%{REQUEST_URI}!索引\.php 重写规则^.*/|[^/]*$$1index.php?name=$2/[L] 重新启动发动机 重写cond%{HTTPS}=在…上 重写规则^.*$https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301,NE] 标头始终设置内容安全策略升级不安全请求;
我已经试过了,但不能用你提供的方法。那意味着什么?您将需要调试。我们不能为您这样做,因为只有您可以访问您的设置。因此,开始调试。第一步:您的http服务器的错误日志文件显示了什么?我已经尝试了,但无法使用您提供的方法。这意味着什么?您将需要调试。我们不能为您这样做,因为只有您可以访问您的设置。因此,开始调试。第一步:http服务器的错误日志文件显示了什么?“需要您的帮助和建议。”-首先是什么
在这里,你是在向我们展示你做出了实际的努力。这不是一个代码编写服务。“需要您的帮助和建议。”-这里首先需要的是,您向我们展示了您的实际努力。这不是一个代码编写服务。感谢您的贡献!请提供一个简短的描述,说明您提供的代码如何解决OP的问题。感谢您的贡献!请简要说明您提供的代码如何解决OP的问题。