【发布时间】:2013-12-18 03:04:36
【问题描述】:
我想更改我的网址。这里我有一个这样的目录结构
htdocs/
example/
public/
login.php
people/
people1.php
people2.php
animal/
animal1.php
animal2.php
404.php
assets/
css/
js/
那我要按照根目录下的现有目录来如下的url
localhost/example/login
localhost/example/people/people1
localhost/example/people/people2
localhost/example/animal/animal1
localhost/example/animal/animal2
我尝试制作一个 .htaccess 文件,其内容如下
Options +FollowSymLinks
RewriteEngine On
rewritecond %{REQUEST_URI} !^/public/(.*)
rewritecond %{REQUEST_URI} !^/assets/(.*)
RewriteRule .* index.php [L]
它是 index.php
$requested = empty($_SERVER['REQUEST_URI']) ? false : $_SERVER['REQUEST_URI'];
switch ( $requested ) {
case '/login':
include 'public/login.php';
break;
default:
include 'public/404.php';
}
当我前往 localhost/example/login 时,但目的地是 404.php(错误)。
你能帮帮我吗?
【问题讨论】:
-
所以你有一些
rewritecond...rewriterule在哪里? -
@AndyJones 你能再检查一下我的问题吗?
-
你试过localhost/example/login?或者是其他东西?您是否在 404.php 页面中的某处转储
$_SERVER["REQUEST_URI"]? -
@AndyJones 是的,我愿意,它的价值是/self-system/login。所以我必须写有条件的,比如“case '/self-system/login'”,但只能写“case '/login'”?