Php 如何重新构造htaccess以允许主页?

Php 如何重新构造htaccess以允许主页?,php,file,.htaccess,url,Php,File,.htaccess,Url,好的,我有一个有很多页面的网站,我想为每个页面创建一个php文件…这很好…以下是我的代码 这是我的访问权限 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [L] 这是我的index.php文件 $parts = explode('/', $_REQUEST['url']); switch (

好的,我有一个有很多页面的网站,我想为每个页面创建一个php文件…这很好…以下是我的代码

这是我的访问权限

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L]
这是我的index.php文件

$parts = explode('/', $_REQUEST['url']);

switch ($parts[count($parts) - 1]) {
    case 'restaurant':
    include "pages/restaurant.php";
        break;
    case 'retail':
    include "pages/retail.php";
        break;  
        .......
        .......

}
如果我访问url
http://someurl.com/restaurant
pages/restaurant.php中的正确文件将出现。唯一的问题是主页
http://someurl.com
当我访问它时,我会得到:

Forbidden

You don't have permission to access /structure on this server.

有没有办法在.htaccess中解决这个问题?我应该在pages文件夹中创建一个名为home.php的文件,还是将主页的内容放在索引文件中的else条件下…有什么想法吗?你忘记指定默认的开关情况了吗

switch ($parts[count($parts) - 1]) {
case 'restaurant':
include "pages/restaurant.php";
    break;
case 'retail':
include "pages/retail.php";
    break;  
default:
include "pages/default_page.php";
    break;
    .......
    .......
}

开关
中是否有
默认
语句?我打赌你不会的。

1。在现有规则之前的某个位置使用此规则:

RewriteRule ^$ index.php?url=home [L]
二,。创建
pages/home.php

三,。将以下内容添加到switch语句中:

case 'home':
include "pages/home.php";
    break;
p.S.我不建议使用
default:
来处理主页<代码>默认值:应仅用于处理404页/未知页

DirectoryIndex index.php
您的httpd.conf或.htaccess中是否有此代码


似乎您的默认文件不是index.php

我甚至无法访问该页面……如果在.com之后没有任何内容,浏览器将不会呈现任何内容。您不明白,我甚至无法访问php,因为您无权访问此服务器上的/structure。@Tamer--在.com eg.g之后至少应该有斜杠
http://www.example.com/
由于seo原因,我不能这样做……我需要的是someurl.com而不是somesite.com?url=home@Tamer--这与您已经使用的语法完全相同--请参见您自己的规则。为什么搜索引擎优化对他们来说是好的,而对他们来说是坏的/不好的呢?那么如果有人进入somesite.com,我该如何获得它,从而停止被禁止的搜索