我已经查看了与我相似的问题,但这与我的具体例子无关。
第一个URL(要发送到服务器的内容,最初输入到URL栏):www.site.com/?variable1=3&variable2=filename.php
第二个URL(URL栏中显示给用户的内容):www.site.com/filename.php
其中“filename.php”与原始URL中的“variable2”值相同。
我见过the opposite的例子,有人输入第二个网址,然后用第一个网址替换它,但这不是我想要的。
目前我所拥有的:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^/([A-Za-z0-9]+)$ /?CommID=$1&FileName=$2 [NC,L]
我从this question提供的链接中获得了结构,但这不起作用。
我不是要重定向,只是屏蔽当前的网址,以便它对SEO友好。我需要从URL中获取两个变量才能正确地提取动态内容。
有什么想法吗?
答案 0 :(得分:1)
尝试将以下内容添加到域根目录中的.htaccess文件
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
#if the query string has a commid and a fIlename Param
RewriteCond %{QUERY_STRING} ^CommID=([^&]+)&FileName=([^&]+) [NC]
#redirect users to the Pretty URL of www.site.com/variable1/filename.php
RewriteRule .* /%1/%2? [L,R=301]
#for a URL like this in address bar www.site.com/variable1/filename.php
#CommID will contain variable1 and FileName will contain filename.php
RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9\.]+)$ /?CommID=$1&FileName=$2 [NC,L]
编辑: 还使用查询字符串URL将用户重定向到漂亮的URL