Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Apache 用于打开其他页面的重写规则_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 用于打开其他页面的重写规则

Apache 用于打开其他页面的重写规则,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我被一些.htaccess规则困住了 我得到了/module/slug页面。当我键入slug时,我想查看/module/slug/的内容,但不想重定向到此页面。可能吗?我尝试过这个规则,但没有成功: RewriteRule ^slug/$ /module/slug/ [L] 我的.htaccess内容: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^ind

我被一些
.htaccess
规则困住了

我得到了
/module/slug
页面。当我键入
slug
时,我想查看
/module/slug/
的内容,但不想重定向到此页面。可能吗?我尝试过这个规则,但没有成功:

RewriteRule ^slug/$ /module/slug/ [L]
我的
.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]
RewriteRule ^calculator/$ /sample-page/ [R=301,L]
</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
重写规则^calculator/$/示例页/[R=301,L]
#结束WordPress

发生这种情况是因为您没有告诉Apache重定向(
R=301

添加重定向标志
R
,它应该可以工作。还要确保:

  • 您已正确设置
    RewriteBase
  • 文件前面没有与同一URL匹配的任何其他规则

  • 不幸的是,它不起作用。添加我的.htaccesscontent@user3013494我在回答中增加了一些细节。你的规则来得太晚了,需要比WordPress规则更早设置。此规则将我重定向到页面/module/slug/,但我想保留url/slug,但显示页面/module/slug/@user3013494的内容。在这种情况下,这取决于
    /module/slug/
    上的页面如何计算url以选择其内容。然后.htaccess可能是错误的工具。这是两个不同的页面,比如index.php?p=111和index.php?p=222“content of/module/slug/”的意思。目录列表?
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^slug/$ /module/slug/ [R=301,L]