.htaccess htaccess url重写-在url上隐藏文件扩展名 目前 如果我像那样添加a href,它已经可以工作了

.htaccess htaccess url重写-在url上隐藏文件扩展名 目前 如果我像那样添加a href,它已经可以工作了,.htaccess,rewrite,friendly-url,.htaccess,Rewrite,Friendly Url,但我的大多数链接都是这样的,它在URL中显示clientrea.php——应该覆盖它,并成为中心客户,如.htaccess中所设置的 问题 我希望客户端看到友好的url,即使他单击了不友好的url(.php、.html等) .htaccess 不幸的是,您的映射没有统一的模式。为了防止无休止的重定向循环,必须首先有一条规则 # prevent endless loop RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L]

但我的大多数链接都是这样的,它在URL中显示clientrea.php——应该覆盖它,并成为中心客户,如.htaccess中所设置的

问题 我希望客户端看到友好的url,即使他单击了不友好的url(.php、.html等)

.htaccess
不幸的是,您的映射没有统一的模式。为了防止无休止的重定向循环,必须首先有一条规则

# prevent endless loop    
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
然后为简单URL逐个添加反向映射

RewriteRule ^clientarea.php$ central-cliente [R,L]
或者,如果有查询字符串,则使用条件

RewriteRule ^clientarea.php?action=details$ meus-dados [R,L]
将不起作用,因为
?action=details
不是URL路径的一部分。为此,您必须有一个带
%{QUERY\u STRING}

RewriteCond %{QUERY_STRING} action=details
RewriteRule ^clientarea.php$  meus-dados? [R,L]
末尾的问号
将抑制替换URL中的查询字符串


也许,您可以至少对简单的一对一重定向使用一个,并在一个简单的文本文件中维护映射列表。但这与在.htaccess中有一长串
重写规则没有太大区别。

不幸的是,映射没有统一的模式。为了防止无休止的重定向循环,必须首先有一条规则

# prevent endless loop    
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
然后为简单URL逐个添加反向映射

RewriteRule ^clientarea.php$ central-cliente [R,L]
或者,如果有查询字符串,则使用条件

RewriteRule ^clientarea.php?action=details$ meus-dados [R,L]
将不起作用,因为
?action=details
不是URL路径的一部分。为此,您必须有一个带
%{QUERY\u STRING}

RewriteCond %{QUERY_STRING} action=details
RewriteRule ^clientarea.php$  meus-dados? [R,L]
末尾的问号
将抑制替换URL中的查询字符串


也许,您可以至少对简单的一对一重定向使用一个,并在一个简单的文本文件中维护映射列表。但这与在.htaccess中有一长串
重写规则没有太大区别。

在视图中更改URL不是更好吗?如果它是一个网站,那么在一个页面上有多个不同的url是不好的。
.htaccess
无法更改任何文件或脚本输出的HTML代码。您需要更改HTML代码中的URL。在视图中更改URL不是更好吗?如果它是一个网站,那么在一个页面上有多个不同的url是不好的。
.htaccess
无法更改任何文件或脚本输出的HTML代码。您需要更改HTML代码中的URL。太好了!My.htaccess现在是这样的:考虑到它不是root.htaccess,它只来自/panel/directory。底部的安全代码看起来可靠吗?非常感谢@用户2056484您在
RewriteBase/painel/
中有一个输入错误,请查看有关查询字符串的更新答案。太好了!My.htaccess现在是这样的:考虑到它不是root.htaccess,它只来自/panel/directory。底部的安全代码看起来可靠吗?非常感谢@user2056484您在
RewriteBase/painel/
中有一个输入错误,请查看有关查询字符串的更新答案。