我的htaccess出了问题。
我有这个网址:www.mypage.com/search.php?region=EUW&summonerName=Summonername
。
这在我的.htaccess文件中:
RewriteRule ^(.*)/(.*)/ https://www.mypage.com/search.php?region=$1&summonerName=$2 [L]
当我尝试转到www.mypage.com/EUW/Summonername
时,它会返回404。
当然我在制作这个帖子之前已经搜索了很多关于htaccess url重写的内容,但没有任何效果。代码有什么问题?欢呼声。
编辑:我找到了使用方式:RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)/(.*)/?$ search?region=$1&summonerName=$2
现在我可以毫无问题地执行https://www.mypage.com/text/text
这样的网址,但我仍然遇到问题。在index.php的形式中,它仍然会重定向到https://www.mypage.com/search.php?region=text&summonerName=text
,我甚至都不知道为什么。有些想法?干杯女士们和绅士们。
答案 0 :(得分:0)
试试这个:
RewriteRule ^(.*)\/(.*)$ /search.php?region=$1&summonerName=$2 [L]
答案 1 :(得分:0)
我认为你的问题是协议。看起来你正试图在内部重写https
,我不相信它会让你出于安全目的这样做。这就是它可能仍在重定向的原因。
您应该使用相对路径。试试这种方式,看看它是否适合你。
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ /search.php?region=$1&summonerName=$2 [L]