Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wordpress使用htaccess更改为友好URL,并带有变量_Wordpress_.htaccess_Url_Friendly Url - Fatal编程技术网

wordpress使用htaccess更改为友好URL,并带有变量

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

我有一个wordpress网站,有一个页面模板和一个变量call uid(用户id),我想把它改成友好的url

附言: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>

重新启动发动机
重写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>