.HTACCESS重写问题

时间:2012-06-09 06:11:18

标签: .htaccess url-rewriting

可以检查.htaccess文件的代码并让我知道它有什么问题以及为什么它不起作用?

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^itinerary/([a-zA-Z0-9_-]+)/([0-9]+)\$ itinerary-details.php?tId=$2

我想重写网址如下:

  

www.domain.com/itinerary-details.php?tId=2&tName=agra-delhi-tour

  

www.domain.com/itinerary/2/agra-delhi-tour


  

www.domain.com/itinerary-details.php?page=1&tId=2&tName=agra-delhi-tour

  

www.domain.com/itinerary/2/agra-delhi-tour/1

请帮我这样做。

由于

2 个答案:

答案 0 :(得分:0)

似乎你的正则表达式中的两个部分是相反的。这适用于您的两种情况:

^itinerary/([0-9]+)/([a-zA-Z0-9_-]+)/?(.*) itinerary-details.php?tId=$1&tName=$2&page=$3

我也注意到你正在逃避$,这也会导致问题。

答案 1 :(得分:0)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^itinerary/([^/]+)/([^/]+)/?$ /itinerary-details.php?tId=$1&tName=$2 [L,QSA,NC]

RewriteRule ^itinerary/([^/]+)/([^/]+)/([^/]+)/?$ /itinerary-details.php?page=$3&tId=$1&tName=$2 [L,QSA,NC]