我正在尝试创建一个动态页面,该页面将根据URL显示内容,但我想知道是否可以让URL对用户更具可读性。
所以我有一个名为work.php的页面,它将根据URL中传递的ID显示某项工作。所以work.php?project = 1会显示项目1。
有没有办法使用更像www.website.com/work/projectname
的网址来达到同样的效果答案 0 :(得分:1)
看看这个:.htaccess and mod_rewrite for apache
然后您可以处理$_SERVER['REQUEST_URI']
**附录**
例如我在.htacess
文件中使用了类似的内容:
Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
RewriteBase /
# Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
那么我将始终登陆index.php
,我将解析URI并将其用作我的页面的分发者和路由器。
答案 1 :(得分:1)
如果只是针对特定的一两个脚本,您可以查看Apache重写的工作原理,然后将其显示为www.website.com/work/projectname,并在后端显示为work.php ?项目= 1
Here is an example:
# Turn on URL rewriting
RewriteEngine On
RewriteBase /
RedirectRule ^work.php?project=(.*) http://www.website.com/work/$1
如果这是一个包含大量这些页面的项目,并且您不想编写一堆这些规则,我建议您查看一个MVC框架,如Kohana,Yii等照顾这个以及许多其他事情。
答案 2 :(得分:0)
你必须创建一个名为.htaccess的文件(仅此而已)。 将此文件放在与网站其他文件相同的文件夹中。您可能必须打开“显示隐藏文件”才能在创建文件时查看该文件。
在.htaccess中你可以这样写:
RewriteEngine on RewriteRule ^ work /([a-zA-Z0-9 _-] +)$ work.php?product = $ 1
此代码将为您提供工作/ 1