2010-12-10 5 views
0

Dies ist die URL meiner AnwendungWie kann ich meine Anwendung url machen Recht (SEF) mit .htaccess

http://mydomain.com/index.php 
http://mydomain.com/video.php?id=29 
http://mydomain.com/news.php?id=33 
http://mydomain.com/photos.php?albumid=10 
http://mydomain.com/archive.php 
http://mydomain.com/album.php 
http://mydomain.com/contact.php 

verwendet ich will ist ältere Anwendung verwendet bereits viele Htaccess-Codes im Stammverzeichnis. Hier ist der Code, der bereits in htaccess existiert.

php_value post_max_size 100M 
php_value upload_max_filesize 100M 
php_value memory_limit 100M 

# 
# Apache/PHP/osTube settings: 
# 

# Don't show directory listings for URLs which map to a directory. 
#Options -Indexes 

# Follow symbolic links in this directory. 
#Options +FollowSymLinks 

# Set the default handler. 
#DirectoryIndex index.php 

# Override some PHP settings. 

# PHP 4, Apache 1. 
<IfModule mod_php4.c> 
    php_value error_reporting 6135 
</IfModule> 

# PHP 4, Apache 2. 
<IfModule sapi_apache2.c> 
    php_value error_reporting 6135 
</IfModule> 

# PHP 5, Apache 1 and 2. 
<IfModule mod_php5.c> 
    php_value error_reporting 6135 
</IfModule> 

# Deny access to certain files 
<Files "convert.php"> 
Order Deny,Allow 
Deny from All 
</Files> 

# Various rewrite rules. 
<IfModule mod_rewrite.c> 
    RewriteEngine on 

    # If your site can be accessed both with and without the prefix www. you 
    # can use one of the following settings to force user to use only one option: 
    # 
    # If you want the site to be accessed WITH the www. only, adapt and 
    # uncomment the following: 
    # RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
    # RewriteRule .* http://www.example.com/ [L,R=301] 
    # 
    # If you want the site to be accessed only WITHOUT the www. prefix, adapt 
    # and uncomment the following: 
    # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] 
    # RewriteRule .* http://example.com/ [L,R=301] 

    # Modify the RewriteBase if you are using osTube in a subdirectory and 
    # the rewrite rules are not working properly. 
    # RewriteBase /ostube 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Home(.*)$ index.php$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(video|audio|document|photo)/([0-9]+)(/[^/]+)?/?(.*)$ mediadetails.php?mid=$2&$4 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Video(.*)$ media.php?type=video$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Audio(.*)$ media.php?type=audio$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Document(.*)$ media.php?type=document$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Photo(.*)$ media.php?type=photo$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Tags(.*)$ tags.php$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Community(.*)$ community.php$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^weblog/([0-9]+)(/[^/]+)?/?(.*)$ blog.php?action=post&pid=$1&$3 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Weblog(.*)$ blog.php$1 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Channel/(video|audio|document|photo)/([0-9]+)(/[^/]+)?/?(.*)$ media.php?type=$1&chid=$2$4 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^Tag/([0-9]+)/?(.*)$ search_result.php?tid=$1&$2 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^User/([^/]+)/?(.*)$ userprofile.php?uname=$1$2 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^WebTV/([^/]+)/([0-9]+)(.*)$ webtv.php?mode=$1&id=$2$3 [L,QSA,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^WebTV(.*)$ webtv.php$1 [L,QSA,NC] 

    RewriteRule ^flvplayer.swf vimp.swf [L,QSA,NC] 
    RewriteCond %{QUERY_STRING} ^mediaid=(\d+)&action=getmediainfo$ 
    RewriteRule ^$ flashcomm.php?mediaid=%1&action=getmediainfo [L,NC] 
    RewriteCond %{QUERY_STRING} ^action=getmediainfo&mediaid=(\d+)$ 
    RewriteRule ^$ flashcomm.php?mediaid=%1&action=getmediainfo [L,NC] 

    #RewriteCond %{REQUEST_FILENAME} !-f 
    #RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^sitemap.xml$ sitemap.php [L,QSA,NC] 
</IfModule> 

welchen Code ich soll für Rewrite_rule verwenden, und ich würde auch freuen, wenn mich jemand zum Tutorial führen könnte, wo ich in der Lage sein würde, .htaccess und auch die regulären Ausdrücke zu verstehen.

zusätzlich würde ich die Datei anzeigen Option Indizes oder etwas deaktivieren möchten, die ich nicht genau erinnere.

danke ..

Antwort

0

die folgende

#Turn off option indexes 
Options -Indexes 

RewriteCond %{REQUEST_URI} "/js/" [OR] 
RewriteCond %{REQUEST_URI} "/images/" [OR] 
RewriteCond %{REQUEST_URI} "/css/" 
RewriteRule (.*) $1 [L] 

#Rewrite Rules 
RewriteRule ^video/(.*) /video.php?id=$1 [L] //This gives you domain.com/video/33 
RewriteRule ^video/id/(.*) /video.php?id=$1 [L] //This gives you domain.com/video/id/33 

Der erste Abschnitt Versuchen: ^video/(.*) ist, was Sie Ihre URL aussehen soll. Die (.*) ist ein Platzhalter für eine Variable. Der zweite Abschnitt /video.php?id=$1 ist die tatsächliche URL, die neu geschrieben werden soll. Die $1 ist die Variable, die im ersten Abschnitt ersetzt wird.

Die RewriteCond-Regeln sagen uns, diese Ordner zu ignorieren und nicht neu zu schreiben.

Hoffe, das hilft. Sitepoint haben einen guten Anfänger Artikel über die Verwendung von mod_rewrite - http://articles.sitepoint.com/article/guide-url-rewriting

+0

ich verstehe nicht, wie genau das eigentlich funktioniert. Ich habe versucht, folgenden Code in htaccess verwenden # Rewrite Regeln RewriteRule^news/id /(.*) /news.php?id=$1 [L] und wenn ich versuchte, es mit der URL http://mydomain.com/news zu öffnen/id/33 es lädt keines der Bilder oder js oder CSS-Dateien und fügt diesen Code all meiner js und CSS-Datei hinzu. Was läuft falsch? –

+0

Habe die Hauptpost bearbeitet –

+0

danke matt. –

Verwandte Themen