Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Mod rewrite更改url路径,如图所示_Php_Apache_Mod Rewrite - Fatal编程技术网

Php 使用Mod rewrite更改url路径,如图所示

Php 使用Mod rewrite更改url路径,如图所示,php,apache,mod-rewrite,Php,Apache,Mod Rewrite,我正在努力做到这一点 我的问题是 domain.com/forum.php?id=100000 我想把它改写成 domain.com/forum/id/10000 我试过这么做 RewriteCond %{QUERY_STRING} id=(\d+) RewriteRule ^forum.php /%1/? [R=301] 但我得到的是 domain.com/10000. 如果有人能帮我解决这个问题,我会非常感激的。试试这个- 如果您的url如下所示 domain.com/forum/

我正在努力做到这一点

我的问题是

domain.com/forum.php?id=100000
我想把它改写成

domain.com/forum/id/10000
我试过这么做

RewriteCond %{QUERY_STRING} id=(\d+) 
RewriteRule ^forum.php /%1/? [R=301]
但我得到的是

domain.com/10000.
如果有人能帮我解决这个问题,我会非常感激的。

试试这个- 如果您的url如下所示

domain.com/forum/id/10000
比规则更重要

RewriteRule ^([a-zA-Z]+)$/([a-zA-Z]+)$/([a-zA-Z0-9-]+)$ $1.php?$2=$3

将其放入您的
.htaccess

RewriteRule ^forum/([^/\.]+)/([^/\.]+)/?$ forum.php?$1=$2

http://domain.com/forum/id/10000

现在,您应该看到与转到时相同的输出


http://domain.com/forum.php?id=10000

您认为在正则表达式中有多个
$
会起到什么样的作用?我的问题是要做相反的事情,从domain.com/forum.php?id=10000到domain.com/forum/id/10000