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 使用htaccess重写URL以接受或不接受尾部斜杠_.htaccess - Fatal编程技术网

.htaccess 使用htaccess重写URL以接受或不接受尾部斜杠

.htaccess 使用htaccess重写URL以接受或不接受尾部斜杠,.htaccess,.htaccess,我有如下网址: localhost/tekcreditunion/who-we-are 我如何让htaccess理解这一点 localhost/tekcreditunion/who-we-are/ 仍然是相同的文件或页面吗?我只希望服务器返回到相同的页面,如果尾部斜杠被添加或没有 在htaccess中如何执行此操作 RewriteRule ^who-we-are$ who-we-are.php [L,NC,QSA] RewriteRule ^who-we-are([^/]+)?$ who-

我有如下网址:

localhost/tekcreditunion/who-we-are
我如何让htaccess理解这一点

localhost/tekcreditunion/who-we-are/ 
仍然是相同的文件或页面吗?我只希望服务器返回到相同的页面,如果尾部斜杠被添加或没有

在htaccess中如何执行此操作

RewriteRule ^who-we-are$ who-we-are.php [L,NC,QSA]
RewriteRule ^who-we-are([^/]+)?$ who-we-are.php [L,NC,QSA]
RewriteRule ^who-we-are/([^/.]+)/?$ who-we-are.php?category=$1& [L,QSA,NC]

你的问题有点模糊,但我想这就是你想要的:

RewriteEngine on
RewriteRule ^/?tekcreditunion/who-we-are/?$ /tekcreditunion/who-we-are.php [END]
这里是一般版本:

RewriteEngine on
RewriteRule ^/?tekcreditunion/([^/]+)/?$ /tekcreditunion/$1.php [END]
如果您使用上述规则收到内部服务器错误http status 500,那么很可能您操作的是非常旧版本的apache http服务器。在这种情况下,您将在http服务器错误日志文件中看到不受支持的[END]标志的明确提示。您可以尝试升级或使用较旧的[L]标志,在这种情况下,它可能会起同样的作用,不过这取决于您的设置

此规则同样适用于http服务器主机配置或动态配置文件.htaccess文件。显然,重写模块需要在http服务器中加载,并在http主机中启用。如果使用动态配置文件,则需要注意在主机配置中启用该文件的解释,并且该文件位于主机的文档根文件夹中

还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用动态配置文件.htaccess。这些动态配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实降低了http服务器的速度。它们只是在您无法访问真正的http服务器主机配置的情况下作为最后一个选项提供的:读:非常便宜的服务提供商,或者应用程序坚持编写自己的规则,这显然是一个安全噩梦