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
Php 重写.htaccess缓冲问题_Php_.htaccess_Xampp - Fatal编程技术网

Php 重写.htaccess缓冲问题

Php 重写.htaccess缓冲问题,php,.htaccess,xampp,Php,.htaccess,Xampp,所以我正试图为我正在开发的网站重写一些URL。重写文件的格式如下: Options +FollowSymLinks RewriteEngine On RewriteBase /NetbeansProjects/App/ RewriteRule ^(.*)/+$ $1 [R=301,L] RewriteRule ^/*$ index.php?page=index [NC] RewriteRule ^([webapp/]+)/([main/]+)/?$ /NetbeansProjects/App/i

所以我正试图为我正在开发的网站重写一些URL。重写文件的格式如下:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /NetbeansProjects/App/
RewriteRule ^(.*)/+$ $1 [R=301,L]
RewriteRule ^/*$ index.php?page=index [NC]
RewriteRule ^([webapp/]+)/([main/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$2  [NC,QSA]
RewriteRule ^([webapp/]+)/([dashboard/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$2  [NC,QSA]
RewriteRule ^([webapp/]+)/([search/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$2  [NC,QSA]
RewriteRule ^([search/]+)/?$ /NetbeansProjects/App/index.php?page=college_$1  [NC,QSA]
RewriteRule ^([webapp/]+)/([apply/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$2  [NC,QSA]
RewriteRule ^([webapp/]+)/(.*)/([main/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$3&uni=$2  [NC,QSA]
RewriteRule ^([webapp/]+)/(.*)/([apply/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$3&uni=$2  [NC,QSA]
RewriteRule ^([webapp/]+)/(.*)/?$ /NetbeansProjects/App/index.php?page=index [NC,QSA]
RewriteRule ^about/?$ index.php?page=about [NC]
RewriteRule ^webapp/?$ index.php?page=college_no_login [NC]
RewriteRule ^faq/?$ index.php?page=faq [NC]
RewriteRule ^contact/?$ index.php?page=contact [NC]
RewriteRule ^planner/?$ index.php?page=planner [NC]
主要问题是当我以以下方式传递url时:

http://www.example.com/webapp/dash or http://www.example.com/webapp/sos
由于某种原因,它重定向错误。localserver正在将此行作为true传递:

RewriteRule ^([webapp/]+)/([dashboard/]+)/?$ /NetbeansProjects/App/index.php?page=$1_$2  [NC,QSA]
但事实并非如此。我能够检测到使用此网站:

更新:这段代码目前似乎正在按预期工作

RewriteRule ^(webapp+)/(dashboard+)/?$ /NetbeansProjects/App/index.php?page=$1_$2 [NC,QSA]

在我删除的每一行上,正则表达式中都有一个错误。
[abc]
表达式表示一组字符中的一个

这意味着
[dashboard/]
匹配任何“d”、“a”、“s”等。因此
[dashboard/]+
匹配任何由任意数量的“d”、“a”、“s”等组成的字符串,但至少其中一个字符串

您需要删除
[]
。对于分组,请使用
()
-但是我相信在这种情况下您不需要它:

(foo/)+
[webapp/]
相同,因此规则变为:

RewriteRule ^(webapp/)/(dashboard/)/?$ /NetbeansProjects/App/index.php?page=$1_$2  [NC,QSA]

我明白你想说的,但你的解决方案没有奏效。它给了我一个错误404我相信这是你提出的规则:
RewriteRule^(webapp+/(dashboard+)//$/NetbeansProjects/App/index.php?page=$1_$2[NC,QSA]
当然不是。这将匹配
../dashboardddd/
。我猜这是不可取的。然而,不清楚你到底期望什么。错误日志中有什么?web服务器实际要访问的文件是什么?我交叉检查了,发现不匹配
../dashboardddd/
。它在那里给出了一个错误404。您不需要在
webapp
dashboard
之后使用
+