Apache 如何改变我的修改重写规则,使我可以实现这一点?
我有一个Apache 如何改变我的修改重写规则,使我可以实现这一点?,apache,.htaccess,mod-rewrite,url-rewriting,rewrite,Apache,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,我有一个.htaccess文件: RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.example\.com$ RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301,L] RewriteRule ^([^/.]+)/$ /index.php?go=$1 [L] 如果用户只需键入example.com,则有一条规则可将www添加到域中,另一条规则仅用于处理包含 现在让我们假设我想访问
.htaccess
文件:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301,L]
RewriteRule ^([^/.]+)/$ /index.php?go=$1 [L]
如果用户只需键入example.com
,则有一条规则可将www添加到域中,另一条规则仅用于处理包含
现在让我们假设我想访问URL任何内容
(或任何其他名称)
当我输入这些URL时,它们工作正常:
保持不变。太好了www.example.com/anything/
重定向到www.example.com/anything
。太好了www.example.com/anything/
重定向到example.com/anything
Perfectwww.example.com/anything/
将URL更改为example.com/anything/
www.example.com/index.php?go=anything
www.example.com/anything/
有人知道如何更改规则,使其也能正常工作吗?保持.htaccess如下:
ErrorDocument 403 /index.php?go=403
ErrorDocument 404 /index.php?go=404
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301,L]
RewriteRule ^([^/.]+)/$ /index.php?go=$1 [L,QSA]
RewriteCond $0 ^download/([^/.]+)/$
RewriteRule ^([^/.]+)/([^/.]+)/$ /index.php?go=dl&id=$2 [L,QSA]
RewriteCond $0 ^games/([^/.]+)/$
RewriteRule ^([^/.]+)/([^/.]+)/$ /index.php?go=games&game=$2 [L,QSA]
RewriteCond $0 ^tools/([^/.]+)/$
RewriteRule ^([^/.]+)/([^/.]+)/$ /index.php?go=tools&tool=$2 [L]
RewriteCond $0 ^misc/([^/.]+)/$
RewriteRule ^([^/.]+)/([^/.]+)/$ /index.php?go=misc&misc=$2 [L,QSA]
记得在内部重写重定向规则之前保留重定向规则。是真正的目录吗?@anubhava不,不一定。我只希望URL显示
www.example.com/anything/
,而不是www.example.com/index.php?go=anything
。其中go=anything leads在index.php中定义。它可以位于目录中(例如/anything/anything.php
),但不一定必须位于目录中。是的,我了解你的要求。但我没有看到任何规则在这里添加尾随斜杠,使www.example.com/anything
成为www.example.com/anything/
(其中anything
不是目录)。如果您在.htaccess中有更多规则,请将其发布到此处。@anubhava这是我的完整原始.htaccess文件(域除外),谢谢。不幸的是,没有任何更改使用其他浏览器进行测试或清除浏览器缓存。清除了我的浏览器缓存,现在它可以工作了。非常感谢你!