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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 .htaccess不允许在重新写入的URL上使用尾随斜杠_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache .htaccess不允许在重新写入的URL上使用尾随斜杠

Apache .htaccess不允许在重新写入的URL上使用尾随斜杠,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在使用以下代码编写一些URL: RewriteEngine On RewriteRule ^login/?$ login.php [NC,L] RewriteRule ^register/?$ register.php [NC,L] RewriteRule ^logout/?$ logout.php [NC,L] RewriteRule ^([a-zA-Z]+)/?$ game.php?game=$1 [NC,L] 当您访问/登录或/注册或其他操作时,它非常有效,但是当您添加一个尾随斜杠时

我正在使用以下代码编写一些URL:

RewriteEngine On
RewriteRule ^login/?$ login.php [NC,L]
RewriteRule ^register/?$ register.php [NC,L]
RewriteRule ^logout/?$ logout.php [NC,L]
RewriteRule ^([a-zA-Z]+)/?$ game.php?game=$1 [NC,L]
当您访问/登录或/注册或其他操作时,它非常有效,但是当您添加一个尾随斜杠时,它会丢失样式表。我曾尝试在头部添加一个基本链接,但这不仅会修复问题,还会造成混乱(让人觉得它们来自外部URL)

我尝试过以下代码:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
但是它会把你带到我的,而不是说(文件都在哪里)


是否有一种简单的方法可以删除尾部斜杠?

为此子目录创建一个
RewriteBase
。htaccess驻留在其中,并相应调整尾部斜杠规则:

RewriteEngine On
RewriteBase /directory/another/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/$ $1 [L,R=302,NE]

RewriteRule ^(login|register|logout)/?$ login.php [NC,L]
RewriteRule ^([a-zA-Z]+)/?$ game.php?game=$1 [NC,L]

此.htaccess是否位于
/directory/other/
中?您尝试的问题是导致
/
。这就是你登上顶峰的原因。我怀疑如果你放弃它,它会工作得很好:
RewriteRule^(.*)/$$1[L,R=301]