2013-08-26 3 views
0

Я уверен, что есть другие темы на похожих темы в Интернете. Но я просто не могу заставить это работать на моем собственном веб-сайте. Пожалуйста, помогите мнеhtaccess condition in 301

Мой сайт работает в моем поддомене

для например http://demo.example.com/sitename/india

если я положить 1 параметр, как (Индия) только. его загрузка profile.php?countryname=india также хорошо работает.

Но когда я добавить несколько параметров в мой URL как этот

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] 

Его работы хорошо.

ответ

1

Пожалуйста, попробуйте этот

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

или же отправить полный URL на profile.php страницу и разделить с помощью PHP.

т.е.

RewriteRule ^/* sitename/profile.php?site=%{REQUEST_URI} [L,NC,QSA] 
+0

Что такое среднее по [L, NC, QSA]. также как я могу разобрать мои параметры. сообщите мне –

+0

Вы можете получить подробную информацию обо всех флагах по следующей ссылке http://httpd.apache.org/docs/2.2/rewrite/flags.html. и вы можете получить полный URL-адрес i.e http://demo.example.com/sitename/india/tamilnadu/chennai на странице profile.php в $ _GET ["site"]. Там вы можете разделить, используя функцию разрыва в php – Kalai

+0

Спасибо за ваш ответ. Но у меня одна проблема. помогите мне –

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.