Py学习  »  NGINX

如何在没有.htaccess/nginx conf的情况下屏蔽URL[重复]

Adrian • 4 年前 • 992 次点击  

没有htaccess的漂亮url

我想写一个漂亮的网址,比如:
http://yousite.com/member/1/ 而不是 http://yousite.com/index.php?page=member&id=1
但我用了htaccess文件,现在我想在没有htaccess文件的情况下执行此操作,因为有时您无权在服务器上编辑htaccess文件。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50957
 
992 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Sulthan Allaudeen
Reply   •   1 楼
Sulthan Allaudeen    8 年前

我可能有这个 单行代码 里面 index.php 如果我不想使用 .htaccess .

伪代码: 获取ID并重定向用户

简要说明:

实数编码

header('Location: http://yousite.com/member/'.$_GET['id'].'/');

Szabolcs Páll
Reply   •   2 楼
Szabolcs Páll    8 年前

实际上,您可以为每个成员动态创建一个新文件夹,其中包含一个包含前端控制器的简单索引文件,但即使有可能,您也可能不希望这样做,而是希望更改主机。

Jah
Reply   •   3 楼
Jah    8 年前

如果您有一个Apache服务器并且启用了AcceptPathInfo,那么您可以只使用/index.php/nice/looking/url这样的链接。 URL中间的“index.php”可能看起来有点奇怪,但我认为没有.htaccess就不可能让它看起来更好

否则,您可以要求宿主将任何URL重定向到/index.php,这样您就可以在URL中不包含/index.php的情况下处理URL重写。

然后可以使用regex匹配来检测要包含的文件。 preg_match('@[/]{1}([a-zA-Z0-9]+)@',$_SERVER[“PATH_INFO”],$matches)($matches将包含数组中url的所有“部分”)

请小心包含这些文件,使用白名单,这样您就可以确定没有人能够加载内部文件。