cEM*_*EMa 8 apache .htaccess mod-rewrite redirect url-rewriting
使用apache重写时如何隐藏URL更改?我已经在这个问题上搜索了几个小时,并决定来这里找出答案.所以任何帮助/线索将不胜感激!
现在我正在使用:
RewriteRule ^/Page/(.*)$ http://domain.com/page.cfm?pagevar=$1 [NC,L]
Run Code Online (Sandbox Code Playgroud)
问题是,当你去导航http://domain.com/Page/abc123
它工作.但是,它将浏览器网址更改为http://domain.com/page.cfm?pagevar=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]
Run Code Online (Sandbox Code Playgroud)
以上规则将用于.htaccess文件,并假定page.cfm您的域文件夹的根目录与文件一起.htaccess.
像你提出的例子一样.
| 归档时间: |
|
| 查看次数: |
11284 次 |
| 最近记录: |