我试图将/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
,而不仅仅是重定向。
答案 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]