Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
.htaccess 改变链接结构?_.htaccess - Fatal编程技术网

.htaccess 改变链接结构?

.htaccess 改变链接结构?,.htaccess,.htaccess,在.htacess文件中写入什么以便转换以下链接 post.php?id=$id 到 因此,通过点击链接$id/something anything,它将重定向到post.php?id=$idautomatic 我对此感到厌倦,但失败了 Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Rew

.htacess
文件中写入什么以便转换以下链接

post.php?id=$id

因此,通过点击链接
$id/something anything
,它将重定向到
post.php?id=$id
automatic

我对此感到厌倦,但失败了

Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.+?)$ post.php?id=$1
谢谢

为什么! 例如,我想将
post.php?id=4
更改为
4/hello world love you

然后点击这个链接,它将把
id
作为
4/hello world love you
发送到另一个名为post.php的文件,并使用
$realid=array\u shift(explode(“/”,$id))
然后我可以得到帖子的真实id,即
4
,然后做我想做的任何事情:)这正是我所想的。

它会解决你的问题

RewriteRule ^(\d+)/(.*) post.php?id=$1

@LazyOne你说得对,但我在我的网站上测试了这个,它有很多重写规则。我之所以这么做是因为避免把它们混在一起!这是个很糟糕的借口。原因是——你给了一个不太熟悉URL重写的人这个不是最优的代码。。对于他来说,从这些代码示例中学习这些东西并不是一个好的开始。在您的站点上,您可以轻松地将这些行放在所有其他规则之前,并通过添加空行或一些注释块来进一步与它们分离。
RewriteRule ^(\d+)/(.*) post.php?id=$1