我注意到许多网站都使用以
结尾的网址website.com/index.php?var="value"&var2="value2"
我想知道如何才能做到这一点,而不是让URL的结尾而不是:
website.com/value/value2
和然后有它,以便代替的搜索“/值/ VALUE2”内部的服务器根文件夹的它会代替刚刚打开的的index.php ,然后将 PHP <内部/ em>编码有一个能够获得 URL 的功能。无论是作为字符串“/ value / value2”还是数组“value”“value2”,它都无关紧要,只是获取这些变量的一些方法。这样就可以清理 URL 并轻松告诉您在网站中的位置。
此外,如果有这样做有可能对 style.php 即在同一文件夹中的的index.php (但是具有 PHP标头将其设置为输出 CSS ),将使用<link rel="stylesheet" type="text/css" url="style.php" />
或其任何语法在 index.php 的头部调用是,能够获得相同的变量,以便可以根据 URL 更改 css 样式。
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以在.htaccess文件中重写网址
检查一下。
RewriteEngine on
RewriteRule ^([^/]+)/([^/]+)/([^/]+) /?var=$1&var2=$2 [L]
这有三个部分:
答案 2 :(得分:0)
如果使用apache,请启用mod_rewrite并使用.htaccess
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]
如果使用nginx,请使用nginx_rewrite_module http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html
在index.php中解析$ _SERVER ['REQUEST_URI']变量,它将包含请求的URL。
答案 3 :(得分:0)
这很容易实现。问号后的所有内容都称为$ _GET变量。所以你可以调用$ _GET ['var']或$ _GET ['var2']来获取它们的值。
例如。我有网址:http://www.example.com?username=username&password=password
现在我可以使用该网址并将其设为:
<?php
$user = $_GET['username'];
$pass = $_GET['password'];
$newUrl = 'http://www.example.com/' . $user . '/' . $pass;
echo '<a href="' . $newUrl . '">Link text here</a>';
?>
这会产生基于$ _GET变量的格式化网址:http://www.example.com/username/password