基本上我最初在另一台服务器上安装了我的网站,并且所有.htaccess都工作正常 - 然后我们将服务器转移到我们的新服务器上,而phpinfo()命令几乎完全按照相同的设置运行。
我们有一个像这样的网址结构;
http://example.org/tag/example+tag
我们的搜索结构具有相同的结构;
http://exampe.org/search?search=search+term
但是,出于疯狂的疯狂原因,当你去标记网址时,它会进入搜索页面。这是我们的.htaccess;
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteRule ^sitemap.xml sitemap.php
RewriteRule ^login login.php
RewriteRule ^register register.php
RewriteRule ^dashboard dashboard.php
RewriteRule ^addserver addserver.php
RewriteRule ^tag/([^/]+)/?$ searchtag.php?tag=$1 [NC,L]
RewriteRule ^search search.php
RewriteRule ^ad/(.*)$ cron_servers_banners.php?server=$1 [L,QSA]
RewriteRule ^list/([a-zA-Z0-9\-]+) list.php?page=$1
RewriteRule ^edit/(.*)$ serveredit.php?sid=$1 [L,QSA]
RewriteRule ^server/(.*)$ serverpage.php?sid=$1 [L,QSA]
RewriteRule ^server/(.*)/remove$ serverpage.php?sid=$1&remove=yes [L,QSA]
RewriteRule ^server/(.*)/cremove$ serverpage.php?sid=$1&cremove=yes [L,QSA]
RewriteRule ^server/(.*)/favourite$ serverpage.php?sid=$1&favourite=yes [L,QSA]
RewriteRule ^server/(.*)/unfavourite$ serverpage.php?sid=$1&unfavourite=yes [L,QSA]
RewriteRule ^sponsor/(.*)$ sponsor.php?sid=$1 [L,QSA]
RewriteRule ^history/(.*)$ serverhistory.php?sid=$1 [L,QSA]
RewriteRule ^vote/(.*)$ servervote.php?sid=$1 [L,QSA]
RewriteRule ^lost lost.php
RewriteRule ^logout logout.php
答案 0 :(得分:3)
基本上,您将/tag/sometag
重定向到searchtag.php?tag=sometag
。
RewriteRule ^tag/([^/]+)/?$ searchtag.php?tag=$1 [NC,L]
但是,您有另一个现有规则,即“匹配以搜索开头的任何内容”
RewriteRule ^search search.php
由于search
属于searchtag
,因此您必须添加尾随/
。
RewriteRule ^search/ search.php