Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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_Wordpress_.htaccess - Fatal编程技术网

将子页面段塞路由到父页面模板wordpress

将子页面段塞路由到父页面模板wordpress,wordpress,.htaccess,Wordpress,.htaccess,当前.htaccess文件读取: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> #

当前.htaccess文件读取:

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

# END WordPress
致:


这是考虑到已经有一个规则用于所有URL路由到index.php。

只需在其他wordpress规则之前添加该规则,就像这样

   # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    #RewriteRule ^record-detail/([^/]+)/?$ record-detail/?record_id=$1 [QSA,L]

    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_URI} !^/record-detail [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [QSA,L]
    </IfModule>

# END WordPress
#开始WordPress
重新启动发动机
重写基/
#重写规则^record detail/([^/]+)/?$record detail/?record\u id=$1[QSA,L]
重写规则^index\.php$-[L]
重写cond%{REQUEST_URI}^/记录详细信息[NC]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[QSA,L]
#结束WordPress

这只是返回404个:请求的URL/记录详细信息/在此服务器上找不到。我基本上需要允许/记录详细信息按照通常的方式发送到wordpress,因为它使用自己的页面模板。我更新了答案。然而,我认为您希望将
/record detail/what ever record
路由到查询字符串。例如
record detail/?record\u id=something
?现在它只是返回到wordpress安装的默认404。为了回答您的问题,是的,我认为它正在路由它,但可能发生的情况是,由于没有找到记录详细信息,它只是说没有找到它,而不是包含包含参数的完整url?下面是另一个问题,是否有一种方法可以直接传递到index.php文件,比如page=record detail&record_id=$1?您的意思是
http://example.com/index.php?page=record-详细信息和记录\u id=$1
?或者提供一个例子来说明你的意思。是的,正是因为htaccess规则在现有的wordpress规则中似乎没有预期的效果。我想我们会找到一些方法,像所有其他请求一样,将记录细节请求直接路由到index.php。(即,添加RewriteCond以排除记录详细信息,而不是添加专门用于记录详细信息的rewriteCon,并将其直接路由到index.php。如果这样做有意义的话)
/record-detail/?record_id=what-ever-record
   # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    #RewriteRule ^record-detail/([^/]+)/?$ record-detail/?record_id=$1 [QSA,L]

    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_URI} !^/record-detail [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [QSA,L]
    </IfModule>

# END WordPress