0

我正在为一个不想使用 Drupal,但希望在他们的网站上使用 Drupal 风格的 mod 重写(友好 url)功能的客户创建一个网站。

以前从未创建过我自己的 mod_rewrite 引擎,您可以给我任何方便的提示或技巧吗?CMS 完全由我创建,如果您能提供此功能,那就太好了,所以如果您能提供帮助,请提前致谢。

4

2 回答 2

1

将其添加到您的 htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/?argv=$1 [L]

并且 index.php/?argv=mypage 将变为 /mypage 然后还有一个 php 片段将 URI 放入一个数组

if($_GET['argv']){
  $argc = count($argv);
  $myURI = explode('/',$_GET['argv']);
  $controller = ($argc < 0) ?: $myURI[0];
  $action = (argc > 1) ? $myURI[1] : 'index';
  $params = (argc < 2) ?: array_slice($myURI, 2);
}

这就是我在我的mvc上使用的。

于 2012-12-24T16:18:22.800 回答
0

mod_rewrite 重写规则生成器将获取给它的动态 url,并生成正确的语法以放置在 .htaccess 文件中,以允许以可抓取的格式重写 url。apache 模块“mod_rewrite”(您需要启用该模块)将某种格式的 url 转换为另一种格式,这对于帮助对具有动态内容的站点进行索引非常有用。

 

Syntax: RewriteRule url-pattern url-new [[flag,...]]
Example: RewriteRule ^/foo/(.*)$ /bar/$1 [R,L]
于 2012-12-24T16:15:10.477 回答