2015-09-28 46 views
1

作为标题说我是'网址重写'字段中的新手,我想问一个问题,可以帮助像我这样的其他人。Rookie Url Rewriting

比方说,我们有一个这样的网址:

http://myepicsite.wow/index.php?value_x=1&value_y=2&value_z=3 

怎么能够不编写一行代码是从那些_GET生成的每个页面此URL改写为这样的事情(seofriendly)[]变量? :

http://myepicsite.wow/index.php/1/2/3 

回答

0

尝试添加以下内容到.htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^myepicsite.wow [NC] 
RewriteRule ^(.*)$ http://myepicsite.wow/$1 [L,R=301] 
RewriteRule ^index.php/(.+)/(.+)/(.+)/?$ index.php?value_x=$1&value_y=$2&value_z=$3&%{QUERY_STRING} [L] 
2

尝试:

RewriteEngine On 
RewriteRule ^index\.php/([^/]+)/([^/]+)/([^/]+)$ /index.php?value_x=$1&value_y=$2&value_z=$3 [L,QSA] 

然后你只需要确保你的链接看起来都像http://myepicsite.wow/index.php/1/2/3

但是,即使没有重写规则,您也可以从index.php中读取它们。在您的index.php脚本中,您应该能够读取$_SERVER['PATH_INFO']变量并查看/1/2/3,然后将其分解为数组并将它们分配给value_x/y/z变量。

+0

同意,但我认为重写它更清洁:) –

+0

重写它的工作正常,但当我这样做例如:var_dump($ _ GET); $ _GET是空的。 –