最近再本地做新闻系统,用tp开发,遇到了一个问题,就是伪静态的问题。
我在本地用的是apache 服务器,其写法,也是从网上找的,直接拿过来,也能生效,写法如下
<ifModule rewrite_module>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME -d [OR]
RewriteCond %{REQUEST_FILENAME -f
RewriteRule . - [L]
RewriteRule ^index.html$ index.php/Home/Index/index
RewriteRule ^([a-z]+)\/([0-9]+)\.html$ index.php/Home/Index/detail/pinyin/$1/id/$2
RewriteRule ^(mjsw)\/index_([0-9]+)\.html$ index.php/Home/Index/cate/pinyin/$1/p/$2
RewriteRule ^(mjsw)\/$ index.php/Home/Index/cate/pinyin/$1
ErrorDocument 404 /404.html
</ifModule>
这种写法,在本地环境可以运行,但是拿到我的空间上的时候,空间的服务环境是 iis 猜想可能课服务环境有关,于是换了一种写法
如下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule index.html index.php/Home/Index/index
RewriteRule ^news/([0-9]{8})/([0-9]+)\.html$ /index.php/Home/Index/detail/id/$2/t/$1 [QSA,PT,L]
</IfModule>
这种种写法在空间上可行,由于没有深入了解,(注意对比二者的区别)
经过改动后的写法,基本的展示没有问题了,但404页面的问题,没有解决,总的的问题解决了,就先把这个解决方案放在这里,或者等厉害的网友进行讲解,好了吃饭去了。