0

我相信网络上还有其他类似主题的主题。但我无法在我自己的网站上使用它。请帮我

我的网站在我的子域中工作

例如http://demo.example.com/sitename/india

如果我只输入 1 个参数,例如(印度)。它的装载量profile.php?countryname=india也很好。

但是当我像这样在我的网址中添加多个参数时

http://demo.example.com/sitename/india/tamilnadu/chennai

我要加载profile.php?countryname=india&state=tamilnadu&city=chennai

我正在尝试这段代码

RewriteCond %{HTTP_HOST} ^demo\.example\.com/sitename$
RewriteRule (.*) walola/$1/$2 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)$ sitename/profile.php?countryname=$1&state=$2 [QSA]

当我将单个参数传递到我的 url 时,它的工作正常,否则它会显示 404 错误。

请指导我。

***Answer***

RewriteCond %{HTTP_HOST} ^demo\.example\.com/sitename$
RewriteRule (.*) sitename/([^/.]+)/([^/.]+) [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sitename/profile.php?countryname=$1&state=$2 [QSA]

它的作品很好。

4

2 回答 2

1

请试试这个

RewriteRule ^(.*)/(.*)$ sitename/profile.php?countryname=$1&state=$2 [QSA]

或者将完整的 url 发送到profile.php页面并使用 php 进行拆分。

IE,

RewriteRule ^/* sitename/profile.php?site=%{REQUEST_URI} [L,NC,QSA]
于 2013-08-26T11:13:07.683 回答
0

我会这样做:

1. RewriteRule ^sitename/(.*) /sitename/profile.php/$1 [QSA,L]
2. In PHP: $args = explode("/", $_SERVER["PATH_INFO"]);
3. By var_dump($args) you will have idea how to deal with it.
于 2013-08-26T11:20:58.783 回答