.htaccess Mod重写故障

.htaccess Mod重写故障,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我想在services.php上找到一个主要部分,然后是像services\u logodesign.php这样的一些小节 我想让url看起来像: 当我点击一个按钮打开services_logodesign.php时,浏览器应该显示“services/logo design” 我还有其他几个小节,如果能为任何其他页面编写一个代码就好了。最简单的方法是将所有请求重定向到本质上是一个调度程序脚本的地方——index.php将是这种调度程序脚本的一个很好的候选者 网站根目录中的.htaccess文件如

我想在services.php上找到一个主要部分,然后是像services\u logodesign.php这样的一些小节

我想让url看起来像: 当我点击一个按钮打开services_logodesign.php时,浏览器应该显示“services/logo design”


我还有其他几个小节,如果能为任何其他页面编写一个代码就好了。

最简单的方法是将所有请求重定向到本质上是一个调度程序脚本的地方——index.php将是这种调度程序脚本的一个很好的候选者

网站根目录中的.htaccess文件如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
如果发送请求/bloop/bleep/blorp,则上面的php代码行将把以下内容放入$req数组中:

数组('bloop','bleep','blorp')

或者像/services/logo\u design/这样的请求看起来像:array('services',logo\u design)

处理此阵列的简单方法是:

if ($req[0] == 'services') {
  if ($req[1] == 'logo_design') { include_once(services_logodesign.php); }
  else { include_once(services.php); }
}
看到了吗?虽然这是一个简单的例子,说明你应该做什么,但它比你试图完成同样任务的方式要好得多,也更安全。

有什么“麻烦”?我想你知道mod_rewrite是答案,你有哪些重写规则不起作用?
if ($req[0] == 'services') {
  if ($req[1] == 'logo_design') { include_once(services_logodesign.php); }
  else { include_once(services.php); }
}