【发布时间】:2016-10-01 13:50:31
【问题描述】:
哪种方法更适合重写 URL
(一)。使用 htaccess 文件并在其中使用正则表达式,用于重写规则
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^users/(\d+)*$ ./profile.php?id=$1
RewriteRule ^threads/(\d+)*$ ./thread.php?id=$1
RewriteRule ^search/(.*)$ ./search.php?query=$1
或
(b)。
使用 htacess 文件将每个 url 重定向到 index.php,然后使用 PHP 进行进一步的重定向。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./index.php
之后每个 url 都可以由 index.php 使用 $_SERVER['REQUEST_URI'] 处理,我们可以使用 require() 语句加载特定文件
在安全和速度的基础上,哪种方法更好?
【问题讨论】:
标签: php apache .htaccess mod-rewrite url-rewriting