我想这样做
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
设置这些不同重写的最佳方法是什么?
选项All -Indexes上的RewriteEngine RewriteCond%{HTTP_HOST} ^ websit.com $ [OR] RewriteCond %{HTTP_HOST} ^ www.website.com $ RewriteRule ^ admin $ “HTTP \:\ / \ / www.website.com \ /admin/archief_login.php” [R = 301,L]
RewriteRule ^ blog $ “HTTP \:\ / \ / www.website.com \ /blog/index.php” [R = 301,L]
DirectoryIndex client_login.php
重写规则 ^屏幕 - ([A-ZA-Z0-9 _-] +)的html $ index_client.php?屏幕= $ 1
重写规则 ^发票([A-ZA-Z0-9 _-] +)。HTML $ make_invoice.php?ID = $ 1
重写规则 ^包 - ([A-ZA-Z0-9 _-] +)的html $ ?index_client.php屏幕= pack_code&安培; wwwcode = $ 1
答案 0 :(得分:1)
您需要在文件中放置更多“常规”规则,使其与几乎所有网址都不匹配
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