Home >Backend Development >PHP Tutorial >利用.htaccess文件实现URL静态化解决方法

利用.htaccess文件实现URL静态化解决方法

WBOY
WBOYOriginal
2016-06-13 10:02:04760browse

利用.htaccess文件实现URL静态化
利用.htaccess文件实现URL静态化
问题描述如下:
我现在想实现如下功能:
未静态化的URL:http://inetassistant.com/tasks.php?id=28&title=Wordpress
实现静态化后的URL:http://inetassistant.com/tasks/28/Wordpress.html
1.
.htaccess文件我放在网站根目录下面,内容如下:

Options -Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^/tasks/([0-9]+)/([A-Za-z]+).html$ /tasks.php?id=$1&title=$2

php文件里面链接是这样写的:
Wordpress

可是在浏览器里面输入
http://www.XXX.com/tasks/28/Wordpress.html不能访问

http://www.XXX.com/tasks.php/28/Wordpress.html却能够访问(但是不能够显示对应的内容)

2.另外的情况是:
RewriteRule ^/tasks.php/([0-9]+)/([A-Za-z]+).html$ /tasks.php?id=$1&title=$2 这样写

Wordpress 这样写

我在点击链接的时候不能够将http://www.XXX.com/tasks.php/28/Wordpress.html能够访问,但是没有对应的内容,
补充说明的是:像28,Wordpress其实都是动态从数据库里面获取的,目的是循环输出标题,然后点击标题显示相应的文章内容
请高手帮忙解答一下对于这两种情况问题分别出现在哪里

------解决方案--------------------
RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_URI} ^/tasks/([0-9]+)/([A-Za-z]+)\.html$
RewriteRule ^.+$ tasks1.php?id=%1&title=%2 [L]

我的apache环境估计加了什么配置
当tasks 和我的文件名相同的时候,就匹配不到,我把tasks.php换成task1.php就行了.

这个要放在task1.php所在的文件夹.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn