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

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

WBOY
WBOYOriginal
2016-06-13 10:02:04755Durchsuche

利用.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所在的文件夹.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn