Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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
Php 重写规则无法正确重定向_Php_Redirect - Fatal编程技术网

Php 重写规则无法正确重定向

Php 重写规则无法正确重定向,php,redirect,Php,Redirect,我正在使用此设置网站URL重定向的格式。 我在正确重定向时遇到问题 案例1: RewriteEngine on RewriteRule ^([a-zA-z0-9_-]*)$ user/profile.php?id=$1 [L,NC] RewriteRule ^([a-zA-z0-9_-]*)/([a-zA-z0-9_-]*)$ user/profile.php?id=$1&page=$2 [L,NC] 访问概要文件页面时,代码正常,实际url为(user/profile.php)

我正在使用此设置网站URL重定向的格式。 我在正确重定向时遇到问题

案例1:

RewriteEngine on

RewriteRule ^([a-zA-z0-9_-]*)$  user/profile.php?id=$1 [L,NC]
RewriteRule ^([a-zA-z0-9_-]*)/([a-zA-z0-9_-]*)$  user/profile.php?id=$1&page=$2 [L,NC]
访问概要文件页面时,代码正常,实际url为(user/profile.php)

但是我无法访问主索引,它仍然重定向到(user/profile.php)

案例2:

RewriteEngine on

RewriteRule ^([a-zA-z0-9_-]*)$/  user/profile.php?id=$1 [L,NC]
RewriteRule ^([a-zA-z0-9_-]*)/([a-zA-z0-9_-]*)$  user/profile.php?id=$1&page=$2 [L,NC]
在这种情况下,我可以访问主索引和概要文件,但需要在末尾添加“/”

http://thisismysite.com/1234567/
RewriteRule ^([a-zA-z0-9_-]*)/$  user/profile.php?id=$1 [L,NC]
但我不想在结尾出现反斜杠

我该怎么办?
感谢案例1将
*
替换为
+
,因此您的规则如下所示:

RewriteRule^([a-zA-z0-9_-]+)$user/profile.php?id=$1[L,NC]


这应该能够看到索引,但当您有一个配置文件url时仍然重定向到用户配置文件

用于在末尾添加
/

http://thisismysite.com/1234567/
RewriteRule ^([a-zA-z0-9_-]*)/$  user/profile.php?id=$1 [L,NC]

你真的应该使用路由器脚本,而不是入侵htaccess。然后你可以依靠一个简单的后备资源非常感谢@Ares你救了我一天:)没问题。如果这是你问题的答案,请将其标记为正确答案,以供将来参考。是的,我会的,我只需要更多的时间来标记为正确答案。