Php Mod rewrite-动态$\u获取重写

Php Mod rewrite-动态$\u获取重写,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,是否使用ModRewrite实现以下目标: 初始URL: 重新连接的URL: 或 初始URL: 重新连接的URL: 我需要这个规则是动态的,因为我不知道它将用于哪些页面,我还需要在PHP中保留$\u GET变量 谢谢如果相关URL存储在数据库中,并且需要重写,直到内容可以更新以反映新的URL模式,那么这个问题是有意义的。为了澄清问题,这将被视为一个重定向而不是重写,从而改进SEO。然后,正如上面的评论所指出的,可以重写URL,为PHP提供正确的URL参数。如果这是James的意图,下面的配置将有

是否使用ModRewrite实现以下目标:

初始URL:

重新连接的URL:

初始URL:

重新连接的URL:

我需要这个规则是动态的,因为我不知道它将用于哪些页面,我还需要在PHP中保留$\u GET变量


谢谢

如果相关URL存储在数据库中,并且需要重写,直到内容可以更新以反映新的URL模式,那么这个问题是有意义的。为了澄清问题,这将被视为一个重定向而不是重写,从而改进SEO。然后,正如上面的评论所指出的,可以重写URL,为PHP提供正确的URL参数。如果这是James的意图,下面的配置将有所帮助:

### 301 redirect old query string URLs to pretty URLs
### This will help search engines index the new URLs, 
### not ones that are linked in content
### This is rather messy due to the 
### http://example.com/page/value/test?fruit=apple example
RewriteCond %{QUERY_STRING} value=([^&]*)
RewriteRule (.*) /page/value/%1 [R=301,E=rewrite:true]

RewriteCond %{ENV:rewrite} true
RewriteCond %{QUERY_STRING} !&
RewriteRule (.*) $1? [R=301,L]

RewriteCond %{ENV:rewrite} true
RewriteCond %{QUERY_STRING} &([^=]*)=(.*)$
RewriteRule (.*) $1?%1=%2 [R=301,L]

### Rewrite pretty urls with usable parameters
### [QSA] will maintain extra params such as &fruit=apple
RewriteRule /page/value/(.*) /page.php?value=$1 [QSA]
这很混乱,但我也遇到过类似的情况,在内容更新之前,必须重定向存储在数据库中的旧URL


希望这有帮助。

那么您收到的URL为,需要将其改写为PHP?这与通常的做法是相反的。我只想这样做来帮助SEO,但我需要确保$\u GET变量仍然包含原始查询字符串中的所有值仍然不清楚。您的PHP脚本希望接收这两个URL中的哪一个?(尽管有额外的$u GET vars)这不是我的专长,所以我可能错了,但我不认为这种方法对SEO有任何积极的影响。正如@Michael提到的,你所要求的与mod_重写规则的正常使用完全相反(并且经常被引用为是为了SEO目的)。谢谢大家的帮助。不幸的是事情已经改变了,我们不需要再这样做了!!!对不起,浪费了你的时间。