通过.htaccess从本地主机重写PHP URL

通过.htaccess从本地主机重写PHP URL,php,apache,.htaccess,mod-rewrite,localhost,Php,Apache,.htaccess,Mod Rewrite,Localhost,我正在使用Wamp,我是一个新的url重写我想做的是转换这个 localhost/webtv/video/?ID=14&CH=30 致: 其中/webtv/=我的网站在localhost上的根目录和ID=视频ID和CH=频道ID 我是否必须查询视频和频道的标题,或者您将为我提供的任何解决方案将在locahost上与服务器上一样有效 非常感谢是的,您需要查询标题和频道表单url,而不是ID。 用户如何知道表中视频的id。相反,可以获取视频的标题并与mysql表中的id匹配 对于url重写

我正在使用Wamp,我是一个新的url重写我想做的是转换这个

localhost/webtv/video/?ID=14&CH=30
致:

其中
/webtv/
=我的网站在
localhost上的根目录
ID
=视频ID和
CH
=频道ID

我是否必须查询视频和频道的标题,或者您将为我提供的任何解决方案将在locahost上与服务器上一样有效


非常感谢

是的,您需要查询标题和频道表单url,而不是ID。 用户如何知道表中视频的id。相反,可以获取视频的标题并与mysql表中的id匹配

对于url重写,请确保已在wamp中启用mod_rewrite

该url将用于获取视频标题和频道

localhost/webtv/video/?channel=channel_name&video=video_title
在.htaccess中编写以下代码

RewriteRule webtv/(.*)/(.*)/?$ /webtv/video/?channel=$1&video=$2

将htaccess置于根目录(即www目录)中。

您应该首先将windows目录名“channel name”重命名为“channel name”,将“video title”重命名为“videotitle”以节省时间。通常,如果您的重写变得更复杂或需要数据库连接,只需重写
/webtv/…
中的所有URL,这些URL不指向脚本的实际文件或目录,脚本在
$\u服务器['REQUEST\u URI']
中读取,并查询数据库中是否存在该视频。如果它不存在,此脚本还负责生成
410
404
。确保在
httpd.conf
中启用
mod_rewirte
,然后重新启动wampp。尝试将
.htaccess
文件放入'c:\www\webtv`目录。
RewriteRule webtv/(.*)/(.*)/?$ /webtv/video/?channel=$1&video=$2