wordpress使用htaccess更改为友好URL,并带有变量
我有一个wordpress网站,有一个页面模板和一个变量call uid(用户id),我想把它改成友好的url 从 到 或 附言:wordpress已经有了一个.htaccess文件,我只想给它添加一些额外的代码 我尝试了这些解决方案,但都不起作用:wordpress使用htaccess更改为友好URL,并带有变量,wordpress,.htaccess,url,friendly-url,Wordpress,.htaccess,Url,Friendly Url,我有一个wordpress网站,有一个页面模板和一个变量call uid(用户id),我想把它改成友好的url 从 到 或 附言:wordpress已经有了一个.htaccess文件,我只想给它添加一些额外的代码 我尝试了这些解决方案,但都不起作用: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /forumengine/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUE
<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>
重新启动发动机
重写BASE/forumengine/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/forumengine/index.php[L]
RewrieCond%{QUERY_STRING}!无重读[NC]
RewrieCond%{QUERY_STRING}uid=([^&]+)[NC]
重写规则^(.*/编辑配置文件)/$$1/%1[R=301,NC,L]
重写cond%{REQUEST_FILENAME}-d#不是董事
重写cond%{REQUEST_FILENAME}-f#不是文件
重写规则^(.*/编辑配置文件)/(\d+)$$1/?uid=$2&无重读[NC、QSA、L]
将此添加到您的.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规则,他们应该像这样)
重新启动发动机
重写BASE/forumengine/
重写规则^index\.php$-[L]
RewrieCond%{QUERY_STRING}!无重读[NC]
RewrieCond%{QUERY_STRING}uid=([^&]+)[NC]
重写规则^(.*/编辑配置文件)/$$1/%1[R=301,NC,L]
重写cond%{REQUEST_FILENAME}-d#不是董事
重写cond%{REQUEST_FILENAME}-f#不是文件
重写规则^(.*/编辑配置文件)/(\d+)$$1/?uid=$2&无重读[NC、QSA、L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/forumengine/index.php[L]
它不工作,我的意思是从/forum/edit profile/?uid=1到/forum/edit profile/1。感谢这一点。htaccess文件中的代码#在RewriteBase/forumengine/RewriteRule^index\.php$-[L]RewriteCond%{REQUEST\u FILENAME}上启动WordPress RewriteEngine-f RewriteCond%{REQUEST_FILENAME}-重写规则/对于umengine/index.php[L]RewriteRule^(.*/edit profile)/(\d+)$$1/?uid=$2[NC,QSA,L]#结束WordPress
@NTThái,您的自定义规则应位于WordPress规则之前。
http://localhost/forum/edit-profile/uid/1
<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>
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 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>