.htaccess 重定向URL的最佳实践[已关闭]

vs91vp4v  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(83)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

昨天关门了。
Improve this question
我有一个域名'example.com'.我想做的是有我的URL的清洁和可读性尽可能例如:

  • example.com/login
  • example.com/about-us
  • 等等。

但是,由于有文件扩展名,我的文件不是所有的服务器(Apache)文档根,我需要重定向他们:

  • example.com/login => example.com/authorization/login/login.php
  • example.com/about-us => example.com/pages/about-us/about-us.html

但是什么是最好的方法来实现这种行为呢?出于测试的目的,我使用了Apaches.htaccess文件,如下所示:

RewriteEngine On
RewriteRule ^login/?$ /authorization/login/login.php
RewriteRule ^about-us/?$ /pages/about-us/about-us.html

然而,这似乎并不是一个公共网站的最佳方式。
编辑:这个假设主要是基于像this或这篇文章:
出于安全考虑,. htaccess文件比标准Apache配置更易于访问,并且更改会立即生效(不需要重新启动服务器)。这授予用户在. htaccess文件中进行更改的权限,使他们对服务器本身有很大的控制权。任何放在. htaccess文件中的指令,与Apache配置文件本身具有相同的效果。同样需要注意的是,如果用户可以访问Apache配置文件本身,Apache通常不鼓励使用. htaccess。

hwazgwia

hwazgwia1#

您提供的附加信息解决了您在何处实现重写规则的问题,而不是首先使用重写规则是好是坏。
实际上,应该总是喜欢在集中配置中配置http服务器,而不是在 * 分布式 * 配置文件中。
如果启用,您确实可以添加 * 分布式 * 配置文件(通常称为“.htaccess”),该功能主要用于无法访问中央配置的情况(请阅读:非常便宜的Web服务提供商)。如今,依赖于能够将自己的配置写入此类文件的Web应用程序框架通常不太使用该功能。这对于想要操作此类应用程序的无经验人员来说是有效且方便的。但它显然会带来巨大的安全威胁......软件显然应该“永远"无法更改自己的实现。
除了安全问题,它也是解决http服务器性能的有效点。使用分布式配置文件肯定会有负面影响。对于每个请求,必须读取和解释请求路径上的所有此类文件。文件层次结构增加了完整设置的复杂性。并且使调试任务更加困难。
所以是的,通常你应该使用http服务器的中央配置。* 除非 * 你有特定的理由不这样做;- )

相关问题