2013-08-20 76 views
1

我有一個頁面模板和1變量調用uid(用戶ID)的WordPress的網站,我想改變它友好的網址。wordpress更改爲友好的URL與變量使用htaccess

http://localhost/forum/edit-profile/?uid=1 

http://localhost/forum/edit-profile/1 

http://localhost/forum/edit-profile/uid/1 

P/S:WordPress的已經有.htaccess文件,我只是想添加一些額外的代碼這一點。

我嘗試了這些解決方案,但它們不工作:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /forumengine/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /forumengine/index.php [L] 

RewrieCond %{QUERY_STRING} !no-redir [NC] 
RewrieCond %{QUERY_STRING} uid=([^&]+) [NC] 
RewriteRule ^(.*/edit-profile)/$ $1/%1 [R=301,NC,L] 

RewriteCond %{REQUEST_FILENAME} !-d # not a dir 
RewriteCond %{REQUEST_FILENAME} !-f # not a file 
RewriteRule ^(.*/edit-profile)/(\d+)$ $1/?uid=$2&no-redir [NC,QSA,L] 
</IfModule> 

回答

0

添加到您的.htaccess規則

RewrieCond %{QUERY_STRING} !no-redir [NC] 
RewrieCond %{QUERY_STRING} uid=([^&]+) [NC] 
RewriteRule ^(.*/edit-profile)/$ $1/%1 [R=301,NC,L] 

RewriteCond %{REQUEST_FILENAME} !-d # not a dir 
RewriteCond %{REQUEST_FILENAME} !-f # not a file 
RewriteRule ^(.*/edit-profile)/(\d+)$ $1/?uid=$2&no-redir [NC,QSA,L] 

這將重定向到/forum/edit-profile/?uid=1/forum/edit-profile/1回來。

編輯:?(與WordPress的規則,他們應該去等)

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /forumengine/ 

    RewriteRule ^index\.php$ - [L] 

    RewrieCond %{QUERY_STRING} !no-redir [NC] 
    RewrieCond %{QUERY_STRING} uid=([^&]+) [NC] 
    RewriteRule ^(.*/edit-profile)/$ $1/%1 [R=301,NC,L] 

    RewriteCond %{REQUEST_FILENAME} !-d # not a dir 
    RewriteCond %{REQUEST_FILENAME} !-f # not a file 
    RewriteRule ^(.*/edit-profile)/(\d+)$ $1/?uid=$2&no-redir [NC,QSA,L] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /forumengine/index.php [L] 
</IfModule> 
+0

它不工作,我從意味着/論壇/編輯配置文件/ UID = 1 /論壇/編輯個人資料/ 1.Thanks 這在.htaccess文件中的代碼 '#BEGIN WordPress的 RewriteEngine敘述在 RewriteBase/forumengine/ 重寫規則^索引\ .PHP $ - [L] 快退riteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。 /forumengine/index.php [L] 重寫規則^(。* /編輯簡檔)/(\ d +)$ $ 1/UID = $ 2 NC,QSA,L] #END WordPress' –

+0

@NTThái請檢查更新。 –

+0

alreaydy更新您的代碼但不工作:( –