1

在我的应用程序中,我试图链接http://domain.com/auth/login到它/auth/registerhttp://domain.com/?p=auth&action=$哪里$http://domain.com/auth/$

我的代码是

RewriteEngine On
RewriteRule ^auth/(.+)$ ?p=auth&action=$1

但现在我所有的CSS和图像都搞砸了._。

4

1 回答 1

3

看起来不错,但我建议使用完整的 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用作路由器,也可能是其他任何语言或解决方案。)

于 2012-11-17T11:10:49.883 回答