.htaccess htaccess中RewriteRule仅在直接访问url时有效

izj3ouym  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(131)

我有htaccess文件,我把regurlar网址
example.com/result?from=Brampton&to=Calgary&submit=
Rides-From-Toronto-Calgary-submit seo友好的url。但问题是我必须手动输入url来访问seo友好版本的url,我如何使用.htaccess实现重定向?
这是我目前掌握的情况

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^from [NC]
RewriteRule ^Rides-From-([^/]*)-([^/]*)-([^/]*)$ result?from=$1&to=$2&submit=$3 [QSA,NC,L,R=301]

任何帮助都是感激不尽的。

blmhpbnm

blmhpbnm1#

使用显示示例和尝试,请尝试以下.htaccess规则文件请确保在测试URL之前清除浏览器缓存
此外,这些规则考虑到您的内部重写正在发生index.php文件的情况下,它的其他文件,然后请更改其名称为它的规则。

RewriteEngine ON
##External redirect rules.
RewriteCond %{THE_REQUEST} \s/result\.php\?from=([^&]*)&to=([^&]*)&submit=(\S+)\s [NC]
RewriteRule ^  /Rides-From-%1-%2-%3=%3? [R=301,L]

##Internal rewrite rules from here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?:.*?-){2}([^-]*)-([^-]*)-([^-]*)=(.+)/?$ result.php?from=$1&to=$2&$3=$3 [QSA,L]

相关问题