我正在为我正在构建的MVC网站的mod_rewrite遇到一些问题。
首先请允许我声明我试图以子目录格式捕获.com之后的所有内容,因为传入的参数数量可能不同。
例如:
www.domain.com/view1/param1/param2
www.domain.com/view1/param1/param2/param3
www.domain.com/view2/param1
视图会相当静态,但会有很多视图,所以我宁愿不为每个视图制定规则。
因为这些可以大大改变,我想取URI字符串/ viewname / params / etc并将其拆分为由/分隔的数组,然后设置MVC的视图并执行params调用的任何操作。< / p>
到目前为止我的尝试......
的.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,NS]
PHP
$uri = $_SERVER['REQUEST_URI'];
die(print_r($uri)); // debug
list( $view, $params ) = explode( '/', $uri, 2 );
$params = explode( '/', $uri );
这给了我404错误,访问日志也没有显示它被发送到index.php。
的access.log
[19/Jun/2014:22:31:08 +0000] "GET /tester/p1/p3 HTTP/1.1" 404 502 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
非常感谢任何有关我的mod_rewrite困境的帮助。
答案 0 :(得分:0)
需要在apache2.conf中允许覆盖并启用重写模块。