htaccess 中 url 参数的问题
issue with url parameters in htaccess
RewriteRule ^/pages/topic\.php?tag= /topics/([^/]+) [R=301,L]
RewriteRule ^topics/([^/]+)/?$ /pages/topic.php?tag= [END]
我的问题出在 301 重定向上,我相信问题出在 tag=
和 /([^/]+)
我不完全确定我是否正确地完成了这一步,我想要的结果是当用户导航到 /pages/topic.php?tag=cryptocom
然后用户被重定向到 /topics/cryptocom/
感谢您的帮助。
根据您显示的 attempts/samples,请尝试遵循 htaccess 规则文件。
请确保在测试您的 URL 之前清除您的浏览器缓存。
RewriteEngine ON
##External redirect rules here.
RewriteCond %{THE_REQUEST} \s/pages/([^.]*)\.php\?tag=(\S+)\s
RewriteRule ^ /%1/%2? [R=301,L]
##Internal rewrite rules here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^topics/([^/]+)/?$ /pages/topic.php?tag= [NC,QSA,L]
RewriteRule ^/pages/topic\.php?tag= /topics/([^/]+) [R=301,L]
RewriteRule ^topics/([^/]+)/?$ /pages/topic.php?tag= [END]
我的问题出在 301 重定向上,我相信问题出在 tag=
和 /([^/]+)
我不完全确定我是否正确地完成了这一步,我想要的结果是当用户导航到 /pages/topic.php?tag=cryptocom
然后用户被重定向到 /topics/cryptocom/
感谢您的帮助。
根据您显示的 attempts/samples,请尝试遵循 htaccess 规则文件。
请确保在测试您的 URL 之前清除您的浏览器缓存。
RewriteEngine ON
##External redirect rules here.
RewriteCond %{THE_REQUEST} \s/pages/([^.]*)\.php\?tag=(\S+)\s
RewriteRule ^ /%1/%2? [R=301,L]
##Internal rewrite rules here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^topics/([^/]+)/?$ /pages/topic.php?tag= [NC,QSA,L]