首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mod_Rewrite问题

Mod_Rewrite问题
EN

Stack Overflow用户
提问于 2013-04-12 21:43:21
回答 2查看 84关注 0票数 0

实际上,我已经尝试了这里所述的教程:http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls

我尝试过使用PHP版本的教程。然而,这似乎不起作用。事实上,这对我来说有点不合逻辑。

这是我需要放置到.htaccess文件中的代码:

代码语言:javascript
复制
Options +FollowSymLinks  
RewriteEngine On  

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  

RewriteRule ^.*$ ./index.php  

正如我测试过的那样,这实际上将所有内容都重定向到index.php文件。因此,我将这段代码插入到我的index.php文件中:

代码语言:javascript
复制
$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代码有问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-12 21:48:19

您在.htaccess上丢失了另一个方法

代码语言:javascript
复制
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
票数 0
EN

Stack Overflow用户

发布于 2013-04-12 22:04:48

这应该支持“页面/项目”这样的网址。

代码语言:javascript
复制
<?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类似的“页面/项”不起作用--这应该是有效的:

代码语言:javascript
复制
<?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
}

你测试错了项目。您应该检查数组末尾的字符串“登录”。并且函数拆分被折旧,使用爆炸()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15981337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档