在我的应用程序中,我试图链接http://domain.com/auth/login
到它/auth/register
在http://domain.com/?p=auth&action=$
哪里$
:http://domain.com/auth/$
我的代码是
RewriteEngine On
RewriteRule ^auth/(.+)$ ?p=auth&action=$1
但现在我所有的CSS和图像都搞砸了._。
看起来不错,但我建议使用完整的 url 代替重定向。并且为了减少与其他规则的交互,您应该添加[L]
标志来停止与该规则匹配的请求的重写过程:
RewriteEngine On
RewriteRule ^auth/(.+)$ http://domain.com/?p=auth&action=$1 [L]
和一般提示:如果您有权访问服务器配置,则将您的重写规则放在那里,而不是使用 .htaccess 样式重写。它更可靠,更易于配置:
RewriteEngine On
RewriteRule ^/auth/(.+)$ /?p=auth&action=$1 [L]
甚至性能稍好:
RewriteEngine On
RewriteRule ^/auth/(.+)$ /index.php?p=auth&action=$1 [L]
(我假设您将文件index.php
用作路由器,也可能是其他任何语言或解决方案。)