.htaccess数据到另一个网址

时间:2014-09-04 07:42:02

标签: apache .htaccess mod-rewrite url-rewriting

一开始:我无权在网站上编辑任何我担心的PHP。

问题是旧的.htaccess迷路了:

有两种类型的链接(我需要编写向后规则):

首先:" module-title-id"

这很容易:

RewriteRule  ^([^/]+)-([^/]+)-([^/]+).html?$ index.php?mod=$1&id=$3

如您所见,实际链接如下所示" index.php?mod = $ 1& id = $ 3"

但我对那个问题有疑问:

" page.html中富=栏&#34?;所以我尝试了类似的东西:

RewriteRule  ^([^/]+).html\?([^/]+)\=([^/]+)$ index.php?mod=$1&$2=$3

它的工作方式如下:" index.php?foo = bar"

我该怎么做?

其余的看起来像这样:

#Options +FollowSymLinks
RewriteEngine On
#RewriteBase '/'

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule  ^([^/]+)-([^/]+)-([^/]+).html?$ index.php?mod=$1&id=$3
RewriteRule  ^([^/]+).html\?([^/]+)\=([^/]+)$ index.php?mod=$1&$2=$3 [QSA,L]
RewriteRule  index.html index.php

1 个答案:

答案 0 :(得分:0)

您可以使用:

#Options +FollowSymLinks
RewriteEngine On
#RewriteBase /

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule  ^([^/]+)-([^/]+)-([^/]+)\.html?$ index.php?mod=$1&id=$3 [L,QSA]

RewriteRule  ^(.+?)\.html?$ index.php?mod=$1 [QSA,L]

RewriteRule  ^reservation-save\.html$ reservation.html?t=1 [QSA,L]

RewriteRule ^index\.html$ index.php [L]