我正在尝试将/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/