我在修复webapp时遇到问题。只是为了记录,这不是我的创作,但我必须解决它。 我的问题是,在整个网站(内容和导航)中,我有以这种形式重复的URL:
https://www.site.com/https://www.site.com/somepage.php
只有包含https://www.site.com的网址才会出现这种情况。指向其他网站的网址不受影响。
我的问题是我可以用mod_rewrite删除这些副本吗?
P.S。代码似乎没问题,并且在数据库中写的url是可以的,所以我怀疑mod_rewrite规则或设置有问题。
谢谢。
编辑: 以下是规则:
ErrorDocument 404 /404.html
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^somepage-support-blog-([0-9-])-([0-9-])-articles.htm$ /wordpress/?m\=$1$2 [L]
RewriteRule ^somepage-support-blog-article-([0-9]*).htm$ /wordpress/?p\=$1 [L]
RewriteRule ^somepage-support-blog.htm$ /wordpress/?p\=2 [L]
RewriteRule ^somepage-support-blog.rss$ /wordpress/?feed\=rss2 [L]
RewriteRule ^somepage-support-blog-rss2-([0-9]*).rss$ /wordpress/?feed\=rss2&p\=$1 [L]
RewriteRule ^somepage-support-blog-trackback-([0-9]*).xml$ /wordpress/wp-trackback.php?p\=$1 [L]
RewriteRule ^forgotpass-(.*).php$ /template.php?site_code=XX&loaded_page\=forgottenpasswords&got_email\=$1 [L]
RewriteRule ^latest-products.php$ /search.php?what=1&thetype=newprods [L]
RewriteCond %{REQUEST_URI} !^(.*)cart.php
RewriteCond %{REQUEST_URI} !^(.*)customer.php
RewriteCond %{REQUEST_URI} !^(.*)currency.php
RewriteCond %{REQUEST_URI} !^(.*)detailcollect-admin.php
RewriteCond %{REQUEST_URI} !^(.*)detailcollect.php
RewriteCond %{REQUEST_URI} !^(.*)register.php
RewriteCond %{REQUEST_URI} !^(.*)search.php
RewriteCond %{REQUEST_URI} !^(.*)logout.php
RewriteCond %{REQUEST_URI} !^(.*)image.php
RewriteCond %{REQUEST_URI} !^(.*)template.php
RewriteRule ^([^\/]*).php$ /template.php?site_code=XX&loaded_page\=$1 [L]
RewriteRule ^admin/opted-in.csv$ /admin/opted-in-csv.php [L]
RewriteRule ^styles([0-9]*).css$ /includes/css.php?late=$1 [L]
RewriteRule ^java([0-9]*).js$ /includes/java.php?late=$1 [L]
RewriteRule ^tooltips.js$ /includes/navmodules/Tooltips.php\?Content_section\=javascript [L]
我没写这个。其他是.aspx页面的301重定向(不知道为什么因为该网站是用PHP编写的)。