Heim > Backend-Entwicklung > PHP-Tutorial > 请教个伪静态的问题

请教个伪静态的问题

WBOY
Freigeben: 2016-06-23 13:35:20
Original
864 Leute haben es durchsucht

请教个伪静态的问题


我在弄那个whois查询的时候伪静态


http://whois.hangye5.com/womai.cn这个的


RewriteEngine on
Rewritebase /
ErrorDocument 404 /404.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?domain=$1 [QSA,PT,L]


用了这个是可以的


但是我现在想在上面弄多一个文件伪静态
whois.hangye5.com/sitemaps/sitemap1.html
whois.hangye5.com/sitemaps/sitemap2.html
whois.hangye5.com/sitemaps/sitemap3.html
这样的


不知道怎么弄,不知道怎么在里面添加内容
我自己添加的出问题了。


回复讨论(解决方案)

不知道你的真是路径,根据你原先的写法,只能写个大概

^(.*)/(\w+)/(\w+).html$ index.php?domain=$1&p1=$2&p2=$3

根据 whois.hangye5.com/sitemaps/sitemap1.html 这个链接来说
p1=sitemaps,p2=sitemap1
p1,p2是对应你应用的参数,你自己修改

http://whois.hangye5.com/sitemaps/sitemap.php?domain=1
没有伪之前是上面这样的
RewriteEngine on
ErrorDocument 404 /404.html
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ./index.php?domain=$1 [QSA,PT,L]

RewriteRule ^(.*)/(\w+)/(\w+).html$ /sitemaps/sitemap.php?domain=$1&p1=$2&p2=$3
这样感觉不对路

试试这个

RewriteRule ^(.*)/\w+/[A-za-z]+(\d+)\.html$ index.php?domain=$2

RewriteEngine on
ErrorDocument 404 /404.html
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ./index.php?domain=$1 [QSA,PT,L]

RewriteRule ^(.*)/\w+/[A-za-z]+(\d+)\.html$ /sitemaps/sitemap.php?domain=$2

这个不行

index.php和sitemaps/sitemap.php是不同的文件


没有重写之前:http://whois.hangye5.com/sitemaps/sitemap.php?domain=1
重写之后:http://whois.hangye5.com/sitemaps/sitemap1.php

RewriteRule ^(.*)/sitemaps/sitemap(\d+)\.html$ $1/sitemaps/sitemap.php?domain=$2

你再试试,再不行,就没办法了....

错了

重写之后:http://whois.hangye5.com/sitemaps/sitemap1. html

不行,他还是会跑到index.php里去。这个问题估计在第一个伪静态那里出问题了

RewriteRule ^(.*)$ ./index.php?domain=$1 [QSA,PT, L]
这条规则将一切不真实存在的页面都转到 index.php 去了
那个 L 表示结束重写规则处理,也就是说只要匹配成功后面的规则就不会再去检查了(以免浪费资源)

所以这条要写到前面去
RewriteRule ^(.*)/(\w+)/(\w+).html$ /sitemaps/sitemap.php?domain=$1&p1=$2&p2=$3

RewriteEngine on
ErrorDocument 404 /404.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)/sitemaps/sitemap(\d+)\.html$ $1/sitemaps/sitemap.php?domain=$2
RewriteRule ^(.*)$ index.php?domain=$1 [QSA,PT,L]

这样的不行,估计是上一次影响了下一条

RewriteEngine on
ErrorDocument 404 /404.html
RewriteRule ^sitemaps/sitemap([0-9]+).html$ /sitemaps/sitemap.php?domain=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?domain=$1 [QSA,PT,L]

这样可以了

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage