RewriteCond %{REQUEST_URI} !^.*images.*$
RewriteCond %{REQUEST_URI} !^.*another_static_content.*$
RewriteRule ^([^\/]*?)\/{0,1}(.*)$ index.php?module=$1¶m=$2 [L]
mod rewrite
Мне надо прописать URL mysite.com/index.php&action=products&id=15
на mysite.com/products/15
Буду благодарен если пошагово обяснить кто нибудь...:o:D
http://htaccess.net.ru/
пошагово рассматривать тему, которая обсуждалась кучу раз... имхо, не есть гут. и не ленись, поищи. и нефига спрашивать "чтобы и ваши знания не проржавели, потому что некоторые темы искать лень"
дерзай -
пошагово рассматривать тему, которая обсуждалась кучу раз... имхо, не есть гут. и не ленись, поищи. и нефига спрашивать "чтобы и ваши знания не проржавели, потому что некоторые темы искать лень"
Модуль htaccess.so в файле httpd.conf включил в чем может быть причина ?
LoadModule rewrite_module modules/mod_rewrite.so разкомментировал
посмотри ссылку, которую я тебе кинул. слева есть меню, в нём есть очень по-русски написанный пунктик, там всё описано.
Прописываю URL http://mysite.com?products=tv&id=55 как http://mysite.com/tv/55
Но теперь появилась другая замарочка. Все relative path'ы от <img>, <link> тэгов и других тегов потерялись. То есть сравнительные пути к файлам пропали. То ли броузер думает что он находится в папке www/tv/55 . Попробовал на броузерах IE, FriedFox, Opera. Нигде не работает.
ты наверняка реврайтишь всё, не разбирая, катинка это или что... ну, и еще, учти, что если relative path у тебя вида images/image001.jpg то будет работать относительно данной директории (в данном случае - /tv/55/images/image001.jpg), а для того чтобы было относительно корня - добавь в начало /
Options +FollowSymLinks
Options -Indexes
RewriteEngine on
#Если только одно переменное было дано
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?action=$1
#Если переменных было две
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?action=$1&id=$2 [L]
то есть если будет /news/print/55 то тогда у тебя id новости не скушается =)
можно например так...
Код:
примерно так (не проверял), тогда при URI - /news/print/55 у тебя в скрипте будет 2 параметра в $_GET:
Код:
$_GET["module"] = "news";
$_GET["param"] = "print/55"; // этот параметр бьёшь по / и разбираешься как и с чем поступать....
$_GET["param"] = "print/55"; // этот параметр бьёшь по / и разбираешься как и с чем поступать....
ну, это например :) так что - дерзай =)
файл .htaccess
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
ErrorDocument 500 /index.php
__________________________
файл index.php
Код:
<?php
require_once("admin.php");
$main_site = "";
if($mode=admin::getMode()){
switch($mode[0]){
case '':{
$main_site .= main::top($mode);
$main_site .= main::main($mode);
$main_site .= main::bottom($mode);
break;
}
case 'news':{
$main_site .= news::allnews($mode);
break;
}
default:{
}
}
}
if($main_site != ""){
header("HTTP/1.0 200 Ok");
echo $main_site;
}else header("HTTP/1.0 400 Ok");
?>
require_once("admin.php");
$main_site = "";
if($mode=admin::getMode()){
switch($mode[0]){
case '':{
$main_site .= main::top($mode);
$main_site .= main::main($mode);
$main_site .= main::bottom($mode);
break;
}
case 'news':{
$main_site .= news::allnews($mode);
break;
}
default:{
}
}
}
if($main_site != ""){
header("HTTP/1.0 200 Ok");
echo $main_site;
}else header("HTTP/1.0 400 Ok");
?>
файл admin.php
Код:
<?php
class admin {
var $RequestUrl;
var $mode;
public function getMode(){
$this->RequestUrl = $_SERVER['REQUEST_URI'];
$this->RequestUrl = eregi_replace("^/","",$this->RequestUrl);
$this->RequestUrl = eregi_replace("/$","",$this->RequestUrl);
$this->mode = explode("/",$this->RequestUrl);
if(count($this->mode)>0){
return $this->mode;
}else{
return false;
}
}
}
?>
class admin {
var $RequestUrl;
var $mode;
public function getMode(){
$this->RequestUrl = $_SERVER['REQUEST_URI'];
$this->RequestUrl = eregi_replace("^/","",$this->RequestUrl);
$this->RequestUrl = eregi_replace("/$","",$this->RequestUrl);
$this->mode = explode("/",$this->RequestUrl);
if(count($this->mode)>0){
return $this->mode;
}else{
return false;
}
}
}
?>
А дальше передавай сколько угодно по всем функциям переменную $mode и обрабатывай как хочешь...