我有一个基于 PHP 的动态站点,我最近注意到它生成了很多这样的奇怪页面: http ://www.festivalsnap.com/festival/3151748-16th+Annual+Magnolia+Fest+/hotels/3151748-16th +年度+木兰花+巨星+/门票/酒店
网站架构应该是这样的 www.mysite.com/festival/ 然后每个事件有 4 个可能的子页面... /lineup /tickets /hotels /news
正如您从 URL 中看到的那样,它只会不断创建越来越多不需要的子页面。当我运行站点地图生成器时,它会一直运行下去并创建更多这些无意义的页面。
它不应该比 /hotels 页面更深入,但由于某种原因,它只是使用上述页面的任意组合添加越来越多的子页面。
我不擅长 PHP,我的开发人员也不是很有帮助。有谁知道这可能是什么原因造成的?
编辑:主要活动页面来自一个名为festival.php 的文件,然后在该文件下有 4 个子页面 - lineup.php ticket.php hotel.php 和 news.php 从活动页面获取变量(活动标题、日期、位置等)并使用它来搜索门票、酒店等。
我注意到我基本上可以在 URL 上添加任何内容,它会将其添加为页面标题/事件标题的一部分。.htaccess 似乎发生了一些奇怪的事情
这是 .htaccess 代码: RewriteEngine on RewriteCond %{HTTP_HOST} !^www.festivalsnap.com$ [NC] RewriteRule ^(.*)$ http://www.festivalsnap.com/ $1 [R=301,L]
RewriteRule festival/(.*)-(.*)/lineup$ lineup.php?eveid=$1&festival=$2
RewriteRule festival/(.*)-(.*)/news$ news.php?eveid=$1&festival=$2
RewriteRule festival/(.*)-(.*)/tickets$ ticket.php?eveid=$1&festival=$2
RewriteRule festival/(.*)-(.*)/hotels$ hotel.php?eveid=$1&festival=$2
RewriteRule festival/(.*)-(.*)/hotels/(.*)$ hotel.php?eveid=$1&festival=$2&hsort=$3
RewriteRule festival/(.*)-(.*)$ event_page.php?eveid=$1&festival=$2
RewriteRule artists/(.*)-(.*)$ artists.php?artid=$1&artname=$2