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

我的确找到了带有参数的.htaccess代码,但在子文件夹中不起作用。

另外,我应该在子文件夹中放置另一个.htaccess还是在主目录中使用它? (/.htaccess/streams/.htaccess

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

最佳答案

您可以将htaccess放在根目录或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]

关于.htaccess - htaccess用参数在子文件夹中重写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26098119/

10-11 15:21