我试图抓住一个网址,如
http://www.mysite.com/somepage.php?sometext=somevalue
Run Code Online (Sandbox Code Playgroud)
并将其重定向到.
http://www.mysite.com/index.php?page=somepage.php&sometext=somevalue
Run Code Online (Sandbox Code Playgroud)
我尝试在网上搜索这样的.htaccess,但找不到它.
你能帮我么?
我很确定这是重复的, 但我发现它/它们有点问题[编辑:我发现了一个,虽然可能不是最好的例子].
无论如何,这是一个相当标准的问题解决相当标准的问题:
RewriteRule ^(.*)$ index.php?get=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
所述RewriteRule捕获作为整个请求$1,并将其传递到index.php作为pageGET参数.
最后的[QSA]标志表示采用任何现有的GET参数(sometext=somevalue在您的示例中),并将它们作为新请求添加为其他GET参数.(该[L]标志只是说这应该是最后执行的规则.)
请注意,这也会重定向图像或CSS文件等请求,因此最好在此规则之前直接添加以下行:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Run Code Online (Sandbox Code Playgroud)
这些行说"如果请求是针对实际存在的文件或目录,则不处理规则".这样,对真实文件的请求将由Apache直接提供,而不是由PHP脚本处理(或更可能是错误处理).
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |