假设我有以下网址:example.com/123456
该网址没有指向任何内容 - 123456是一个变量 使用PHP和/或htaccess我想知道我是否可以:
我能做1& 2用htaccess重写。我有一种感觉,我可以通过javascript做#3,但我想知道是否有一个更清洁的解决方案,不会使地址栏更改超过需要。另外,我不想成为hacky - 我想知道这是否是一个合法的过程?
这是我迄今为止所拥有的.htaccess:
RewriteEngine on
RewriteRule ^([A-Za-z0-9\+/=]+)$ ?t=$1 [NC,R=301,L]
对于index.php,我只是使用:
<meta name="foo" content="https://example.com/<?php echo $_GET['t'] ?>" />
这一切都有效,但为了获取php中的meta var,url会更改为example.com/?t=123456。我想显示虚拟网址:example.com/123456,但显示来自example.com/index.php的内容
我的问题与可能的重复之间的区别在于我已经在使用重写了。另见我的问题的答案,可能的副本中没有提到。
答案 0 :(得分:0)
解决了我的问题是使用[PT]标志而不是[R = 301]标志。 [PT]表示“passthrough”,允许您在不更改地址的情况下显示新URL。我正在使用的新.htaccess代码:
RewriteEngine on
RewriteRule ^([A-Za-z0-9\+/=]+)$ ?id=$1 [NC,PT,L]
感谢Tiny Giant的有用链接,并指出我正确的方向: http://httpd.apache.org/docs/2.4/rewrite/remapping.html