使用mod_rewrite或类似PHP的语言处理友好/干净/漂亮的网址更好吗?

前端之家收集整理的这篇文章主要介绍了使用mod_rewrite或类似PHP的语言处理友好/干净/漂亮的网址更好吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发我第一个体面的 PHP站点,而对于应用程序中处理清洁/友好/漂亮的URL的“正确的方式”(假设有这样的事情),我有点困惑.

我看到的方式有两个主要选择(我将以简化的社交新闻网站为例):

1.使用mod_rewrite来处理所有可能的URL.这看起来与以下内容相似但不完全相同:

RewriteRule ^article/?([^/]*)/?([^/]*)/?([^/]*) /content/articles.PHP?articleid=$1&slug=$2
RewriteRule ^users/?([^/]*)/?([^/]*) /content/users.PHP?userid=$1&username=$2
RewriteRule ^search/?([^/]*)/? /content/search.PHP?query=$1

2.将所有内容传递给一些处理程序脚本,让它担心细节:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) handler.PHP?content=$1

显然,这是所有未经测试的“航空代码”,但是你得到了点.

>这两种方式之一会比其他方式慢吗?大概mod_rewrite是较慢的,因为我将被迫使用.htaccess文件.
>这些方法之一有严重的缺点吗?
>这种事情有没有一个“最佳实践”,还是每个开发者倾向于自己决定的东西?我知道wordpress使用选项二(尽管它比我的调查究竟是如何做的更麻烦).

选项1(.htaccess和几个.PHP文件)经常用于“过去”;现在,我看到选项2(通过一个.PHP文件的每个请求)使用了更多.

选项2的主要优点是:

>您可以添加/修改任何类型的URL,而无需更改.htaccess等物理文件

>这意味着URL的格式可以在应用程序的管理部分进行配置,例如

>你只有一个入口点你的PHP代码.

>这意味着一切都通过index.PHP:如果你需要一些代码执行所有请求,把它放在那里,你确定它总是被执行.
>例如,使用了很多MVC框架.

几年前,我会选择1;现在我使用MVC和框架,我总是用选项2.

猜你在找的PHP相关文章