2016-02-07 13 views
0

您好所有我有一個像替換?通過/ URL中,使他們更友好

http://www.domain.com/dash?do=about&w=me 

一個URL,但我想使它像

http://www.domain.com/dash/about/me 

我在我的htaccess文件這些事情。

 RewriteEngine On 
    RewriteBase/
    Options All -Indexes 
    RewriteCond %{REQUEST_METHOD} POST [NC] 
    RewriteRule^- [L] 
     ErrorDocument 403 /www.domain.com/error404.php 
     RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.*$ [NC] 

     RewriteCond %{HTTPS} =on 
     RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301] 

    RewriteCond %{HTTP_HOST} !^www\. 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

    # redirect /profile?eid=1 to /eid/1 
    RewriteCond %{THE_REQUEST} \s/+profile(?:\.php)?\?(eid)=(\d+)\s [NC] 
    RewriteRule^/%1/%2? [R=301,L] 

    # internally rewrite /eid/1 to /profile.php?eid=1 
    RewriteRule ^(eid)/(\d+)$ profile.php?$1=$2 [L,QSA,NC] 

    # redirect /dept?did=1 to /did/1 
    RewriteCond %{THE_REQUEST} \s/+dept(?:\.php)?\?(did)=(\d+)\s [NC] 
    RewriteRule^/%1/%2? [R=301,L] 

    # internally rewrite /did/1 to /dept.php?did=1 
    RewriteRule ^(did)/(\d+)$ dept.php?$1=$2 [L,QSA,NC] 

    # redirect /job-details?job=1 to /job/1 
     RewriteCond %{THE_REQUEST} \s/+job-details(?:\.php)?\?(job)=(\d+)\s [NC] 
    RewriteRule^/%1/%2? [R=301,L] 

    # internally rewrite /job/1 to /job-details.php?job=1 
    RewriteRule ^(job)/(\d+)$ job-details.php?$1=$2 [L,QSA,NC] 

     RewriteCond %{THE_REQUEST} \s/+enterprise\.php\?url=([^\s&]+) [NC] 
     RewriteRule^/%1? [R=301,L] 

     RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC] 
     RewriteRule^/%1 [R=302,L,NE] 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
    RewriteRule ^(.+?)/?$ $1.php [L] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule ^(.+)$ enterprise.php?url=$1 [L,QSA] 

任何一個可以建議的東西來實現這一點,我有嗎?做=約& W =我COMON無處不在,只是需要做喜歡/ /我的頁面之後。

+2

你是否已經改變的URL在應用程序中'/儀表/約/ me'? (雖然自從你說「常見到處都是」,我想你還沒有?)/ dash?do = about&w = me是字面的URL,還是'about'和'me'變量? – MrWhite

+2

這些網址是否始終以'/ dash'開頭? – anubhava

+0

沒有網址可以開始任何事情,關於和我是可變的。 –

回答

1

它正在慢慢地變得難以維持,由於這麼多規則,但在這裏它是:

ErrorDocument 403 /www.domain.com/error404.php 
Options All -Indexes 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_METHOD} POST [NC] 
RewriteRule^- [L] 

RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.*$ [NC] 
RewriteCond %{HTTPS} =on 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301] 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

# redirect /profile?eid=1 to /eid/1 
RewriteCond %{THE_REQUEST} \s/+profile(?:\.php)?\?(eid)=(\d+)\s [NC] 
RewriteRule^/%1/%2? [R=301,L] 

# internally rewrite /eid/1 to /profile.php?eid=1 
RewriteRule ^(eid)/(\d+)$ profile.php?$1=$2 [L,QSA,NC] 

# redirect /dept?did=1 to /did/1 
RewriteCond %{THE_REQUEST} \s/+dept(?:\.php)?\?(did)=(\d+)\s [NC] 
RewriteRule^/%1/%2? [R=301,L] 

# internally rewrite /did/1 to /dept.php?did=1 
RewriteRule ^(did)/(\d+)$ dept.php?$1=$2 [L,QSA,NC] 

# redirect /job-details?job=1 to /job/1 
RewriteCond %{THE_REQUEST} \s/+job-details(?:\.php)?\?(job)=(\d+)\s [NC] 
RewriteRule^/%1/%2? [R=301,L] 

# internally rewrite /job/1 to /job-details.php?job=1 
RewriteRule ^(job)/(\d+)$ job-details.php?$1=$2 [L,QSA,NC] 

RewriteCond %{THE_REQUEST} \s/+enterprise\.php\?url=([^\s&]+) [NC] 
RewriteRule^/%1? [R=301,L] 

RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC] 
RewriteRule^/%1 [R=302,L,NE] 

# /dash?do=about&w=me => /dash/about/me 
RewriteCond %{THE_REQUEST} \s/+([^?]+)(?:.php)?\?do=([^&\s]+)&w=([^&\s]+)\s [NC] 
RewriteRule^/%1/%2/%3? [R=301,L] 

RewriteRule ^([\w-]+)/([\w-]+)/([\w-]+)/?$ $1.php?do=$2&w=$3 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ $1.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)$ enterprise.php?url=$1 [L,QSA] 
+0

嗨,先生,我知道這個問題,並感謝你幫助我,代碼工作人員,但更新此代碼後,一些圖像不顯示..你能找到錯誤? –

+0

檢查後,我發現更新htaccess文件後,圖像的路徑被改變.. –

+0

親愛的主席先生,由於我以前的htaccess文件,我得到的歌劇迷你瀏覽器中找不到遠程服務器..你能給我一些建議嗎? –