使用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文件.
选项1(.htaccess和几个.php文件)经常用于“过去”;现在,我看到选项2(通过一个.php文件的每个请求)使用了更多.
选项2的主要优点是: >您可以添加/修改任何类型的URL,而无需更改.htaccess等物理文件 >这意味着URL的格式可以在应用程序的管理部分进行配置,例如 >你只有一个入口点你的PHP代码. >这意味着一切都通过index.php:如果你需要一些代码执行所有请求,把它放在那里,你确定它总是被执行. 几年前,我会选择1;现在我使用MVC和框架,我总是用选项2. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |