实际上,我已经尝试了这里所述的教程:http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls
我尝试过使用PHP版本的教程。然而,这似乎不起作用。事实上,这对我来说有点不合逻辑。
这是我需要放置到.htaccess文件中的代码:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./index.php 正如我测试过的那样,这实际上将所有内容都重定向到index.php文件。因此,我将这段代码插入到我的index.php文件中:
$request = $_SERVER['REQUEST_URI'];
$params = split("/", $request);
$safe_pages = array("login");
if(in_array($params[0], $safe_pages)) {
echo 'ok'; //insert a file here
} else {
echo 'not ok'; //header to 403.php}
这段代码相当前卫。如果URI是/login,它应该回显:"ok“(在那里插入文件)。
但是,每当我键入:mywebsite.com/login时,它总是会给我index.php,并给出消息:"not“,所以我猜php代码有问题。
发布于 2013-04-12 21:48:19
您在.htaccess上丢失了另一个方法
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]发布于 2013-04-12 22:04:48
这应该支持“页面/项目”这样的网址。
<?php
$request = $_SERVER['QUERY_STRING'];
$params = explode("/", $request);
$safe_pages = array("login");
if(in_array($params[0], $safe_pages)) {
echo 'ok'; //insert a file here
} else {
echo 'not ok'; //header to 403.php
}
?>这与url类似的“页面/项”不起作用--这应该是有效的:
<?php
$request = $_SERVER['REQUEST_URI'];
$params = explode("/", $request);
$safe_pages = array("login");
$last_item = count($params)-1;
if(in_array($params[$last_item], $safe_pages)) {
echo 'ok'; //insert a file here
} else {
echo 'not ok'; //header to 403.php
}你测试错了项目。您应该检查数组末尾的字符串“登录”。并且函数拆分被折旧,使用爆炸()
https://stackoverflow.com/questions/15981337
复制相似问题