使用 apache 重写时如何隐藏 URL 更改?我已经在这个问题上搜索了几个小时,并决定来这里寻找答案。因此,任何帮助/线索将不胜感激!
现在我正在使用:
RewriteRule ^/Page/(.*)$ http://domain.com/page.cfm?pagevar=$1 [NC,L]
问题是,当你导航到http://domain.com/Page/abc123
有用。但是,它将浏览器网址更改为http://domain.com/page.cfm?pagevar=abc123
,
我希望它执行相同的操作,但显示http://domain.com/Page/abc123 http://domain.com/Page/abc123作为网址。
请对此有任何见解将不胜感激!
再次感谢。
第一条规则会将丑陋的 URL 重定向到漂亮的 URL 格式。
第二条规则将在内部将其重定向回来,这样用户就不会看到丑陋的 URL。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# Redirect /page.cfm?pagevar=abc123 to /Page/abc123
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+page\.cfm\?pagevar=([^&\s]+) [NC]
RewriteRule ^ /Page/%1? [R=301,L]
# Internally forward /Page/abc123 to /page.cfm?pagevar=abc123
RewriteRule ^Page/(.*)/?$ /page.cfm?pagevar=$1 [QSA,NC,L]
上述规则适用于.htaccess
文件并假设page.cfm
位于您的域文件夹的根目录中.htaccess
file.
就像你的例子所建议的那样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)