使用.htaccess进行多个重定向

使用.htaccess进行多个重定向,.htaccess,.htaccess,我想这样做 website.com/blog/index.php->website.com/blog website.com/admin/archief_login.php->website.com/admin 这适用于我的代码。 但我想补充一点: website.com/aa->website.com/web/index.php?init=aa 出于某种原因,博客会收到以下重定向:website.com/blog/?init=blog 设置这些不同重写的最佳方法是什么 重写所有选项上的引擎-索

我想这样做

website.com/blog/index.php->website.com/blog

website.com/admin/archief_login.php->website.com/admin

这适用于我的代码。 但我想补充一点:

website.com/aa->website.com/web/index.php?init=aa

出于某种原因,博客会收到以下重定向:website.com/blog/?init=blog

设置这些不同重写的最佳方法是什么

重写所有选项上的引擎-索引 重写cond%{HTTP_HOST} ^websit.com$[或]重写秒 %{HTTP_HOST}^www.website.com$ 重写规则^admin$ “http\:\/\/www.website.com\/admin/archief\u login.php” [R=301,L]

重写规则^blog$ “http\:\/\/www.website.com\/blog/index.php” [R=301,L]

DirectoryIndex客户端_login.php

重写规则 ^屏幕-([a-zA-Z0-9_-]+).html$ index_client.php?屏幕=$1

重写规则 ^发票([a-zA-Z0-9_-]+).html$ make_invoice.php?id=$1

重写规则 ^pack-([a-zA-Z0-9_-]+).html$ index_client.php?screen=pack_code&wwwcode=$1

您需要将更“通用”的规则放在文件的较低位置,以便它们与几乎所有的URL都不匹配

RewriteRule ^(\w)$ /web/index.php?init=$1 [L, NC]
RewriteRule ^blog$ /blog/index.php [R=301,L]
以上就行了

website.com/aa => website.com/web/index.php?init=aa
website.com/blog => website.com/web/index.php?init=blog
如果你颠倒这两条规则,你会得到

website.com/aa => website.com/web/index.php?init=aa
website.com/blog => website.com/blog/index.php

非常感谢,我只需将[L,NC]更改为[NC]即可使其正常工作。