动态URL变量是否适用于PHP?

时间:2016-04-03 16:45:52

标签: php .htaccess

过去浏览网站时,我总是假设这个网址为例: http://example.com/folder/page/something-random该东西随机是一个实际的文件夹,并在page.php区域中创建。

但是最近我已经进入框架并进入.htaccess并注意到这些事情不一定必须使用框架完成,并且想知道它是如何工作的?

是否在.htaccess中进行某种类型的编辑以使/something-random成为GET php变量?

如果问题有点混乱,我道歉。

1 个答案:

答案 0 :(得分:2)

你不需要为url创建文件夹看起来很漂亮。如果你有动态网址,我会建议使用 .htaccess网址重写规则它会使网址看起来好像是一条路径但它是一个变量

.htaccess对于实施Pretty URL非常有用。它们很有用,因为它们总能帮助您提高搜索引擎页面排名,并且它们也是用户友好的。它有助于使URL在浏览器地址栏上看起来整洁而且不一定必须是实际的文件夹。

示例

原始网址。

 http://flickr.com/users.php?id=username&page=2

重写友好网址。

 http://flickr.com/username/2

在.htaccess文件中,你会有这样的事情发生

.htaccess文件

//First Parameer
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?user=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?user=$1

//Second Parameter
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ users.php?user=$1&page=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ users.php?user=$1&page=$2

要在php中捕获变量,您可以使用

php文件

<?php

$key=$_GET['key'];

if($key=='home')
{
include('home.php'); // Home page
}
else if($key=='login')
{
include('login.php'); // Login page
}
else if($key=='terms')
{
include('terms.php'); // Terms page
}
else
{
include('users.php'); // Users Gateway
}
?>

您可以了解有关.htaccess实用性的更多信息,因为谷歌的用法例如我的参考pretty url on 9lessons