Htaccess在带有参数的子文件夹中重写

时间:2014-09-29 10:49:43

标签: .htaccess parameters rewrite

我试图将/streams/post.php?id=1重写为/streams/thread/1

我确实找到了一些带参数的.htaccess代码,但它在子文件夹中没有用。

,我应该在子文件夹中添加另一个.htaccess还是使用主目录中的那个? (/.htaccess/streams/.htaccess

此外,在我重写的过去,有时它会从例如/streams/thread/1重定向到/streams/post.php?id=,有时它实际上会在网址中显示/streams/thread/1,我希望它在网址中显示/streams/thread/1,而不仅仅是重定向。

1 个答案:

答案 0 :(得分:2)

您可以将htaccess放在root或streams文件夹中(这取决于您)。

在根文件夹中

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/streams/post\.php\?id=([0-9]*)\s [NC]
RewriteRule . streams/thread/%1? [R=301,L]

RewriteRule ^streams/thread/([0-9]+)$ streams/post.php?id=$1 [L]

在溪流文件夹中

RewriteEngine On
RewriteBase /streams/

RewriteCond %{THE_REQUEST} \s/streams/post\.php\?id=([0-9]*)\s [NC]
RewriteRule . thread/%1? [R=301,L]

RewriteRule ^thread/([0-9]+)$ post.php?id=$1 [L]