我注意到许多网站使用以
结尾的 urlwebsite.com/index.php?var="value"&var2="value2"
我想知道我怎样才能做到这一点,而不是将它作为 URL 的末尾,而是改为:
website.com/value/value2
然后让它不再在服务器根文件夹中搜索“/value/value2”,而是打开 index.php 然后在 PHP中搜索em> 编码有一个函数可以获取 URL 是什么。无论是字符串“/value/value2”还是数组“value”“value2”都没有关系,只是获取这些变量的某种方式。这样一来,URL 就可以被清理干净,并且很容易分辨出您在网站中的位置。
此外,如果有办法做到这一点,style.php 是否有可能与 index.php 位于同一文件夹中(但有一个 PHP header 将其设置为输出 CSS),这将在 index.php 的头部使用 <link rel="stylesheet" type="text/css" url="style.php" />
调用或者无论语法是什么,能够获得相同的变量,以便可以根据 URL 更改 css 样式。
最佳答案
您可以在 .htaccess 文件中使用重写 url
检查这个。
RewriteEngine on
RewriteRule ^([^/]+)/([^/]+)/([^/]+) /?var=$1&var2=$2 [L]
这包括三个部分:
- RewriteRule 指定这是重写规则(与条件或其他指令相对)。该命令是将第 2 部分重写为第 3 部分。
- 这部分是一个正则表达式,只有当 URL 匹配这个正则表达式时,规则才会运行。在这种情况下,它表示 - 查找字符串的开头,然后是一串非斜杠字符,然后是一个斜杠,然后是另一串非斜杠字符。然后又是一堆非斜杠字符,然后是斜杠,然后是另一串非斜杠字符。括号表示括号内的部分将被存储以供将来引用。
- 最后,这部分说要用这种格式重写给定的 URL。 $1 和 $2 指的是捕获和存储的部分。
引用Beginner's Guide to mod_rewrite . 还有 tutorial同样。
关于PHP 获取 URL 作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12209587/