Htaccess url用2个vars重写

时间:2015-02-28 18:28:29

标签: php .htaccess mod-rewrite url-rewriting

我的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,我甚至都不知道为什么。有些想法?干杯女士们和绅士们。

2 个答案:

答案 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]