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
.htaccess 重定向url而不更改url_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

.htaccess 重定向url而不更改url

.htaccess 重定向url而不更改url,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我知道这方面有很多答案,但没有一个对我有用。我被这个非常熟悉的问题所困扰。我已经做了一个网站,在那里我必须为我的所有特许经营者定制的网址。但所有这些定制的URL都应该回到主页 例如,如果特许经营人输入以下url:www.example.com/特许经营人/john,则应将特许经营人重定向至www.example.com,但浏览器url应保持为www.example.com/特许经营人/john 我通过修改.htaccess文件尝试了这一点,但它显示PageNotFound404错误。任何帮助都是

我知道这方面有很多答案,但没有一个对我有用。我被这个非常熟悉的问题所困扰。我已经做了一个网站,在那里我必须为我的所有特许经营者定制的网址。但所有这些定制的URL都应该回到主页

例如,如果特许经营人输入以下url:www.example.com/特许经营人/john,则应将特许经营人重定向至www.example.com,但浏览器url应保持为www.example.com/特许经营人/john

我通过修改.htaccess文件尝试了这一点,但它显示PageNotFound404错误。任何帮助都是值得的。我不熟悉.htaccess

以下是.htaccess代码:

RewriteCond %{REQUEST_URI} ^.*/franchisee/[a-zA-Z0-9_\.\-]+$
RewriteRule ^(.*)$ / [P] 
编辑: 这是完整的.htaccess文件。此文件位于docroot文件夹下:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^ - [E=protossl]
    RewriteCond %{HTTPS} on
    RewriteRule ^ - [E=protossl:s]
    Options +FollowSymLinks -MultiViews 
    RewriteCond %{REQUEST_URI} ^/franchisee/[a-zA-Z0-9_\.\-]+$
    RewriteRule ^franchisee/[\w.-]+/?$ / [L] 
</IfModule>
这里不需要使用代理或p标志。使用此不带R标志的规则以静默方式重写到/:


仍然不起作用。它保持浏览器url到www.example.com/特许经营人/john的完整性,但不会重定向到www.example.com,并继续给出404错误否它不会重定向,因为重定向意味着更改url。你的.htaccess在哪里?同时在问题中显示完整的.htaccess。您不需要在.htaccess中重写cond%{REQUEST_URI}行,并告诉您的.htaccess位于何处?是否在/特许经营人/目录中?.htaccess文件在docroot文件夹中。没有这样的物理路径www.example.com/特许经营人/。要求是分发此url,无论何时任何特许经营人点击此url,我都希望他们看到主页,但该url应保持在www.example.com/特许经营人/。在这种情况下,您会遇到一些配置问题,因为上述规则在我的Apache上运行得非常好。
RewriteEngine On

RewriteRule ^franchisee/[\w.-]+/?$ / [L]