Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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 Drupal Clean URL为任意路径随机中断_Apache_Drupal_Clean Urls - Fatal编程技术网

Apache Drupal Clean URL为任意路径随机中断

Apache Drupal Clean URL为任意路径随机中断,apache,drupal,clean-urls,Apache,Drupal,Clean Urls,我把一切都做对了。我的服务器已启用mod_rewrite,我的virtualhost路径已将AllowOverride设置为All,并且我已准备好.htaccess文件,其重写规则与所有人相同。但是,我无法使用干净的url路径访问某些页面。因此,对于90%的页面,干净的URL工作得很好。但对于这10%,他们没有 我已经检查过这些页面是否存在——它们确实存在。检查是否可以使用index.php访问它们?q=[path]——它们是。它们只能通过干净的url路径访问 有人能帮我解开这个谜团吗?mod\

我把一切都做对了。我的服务器已启用mod_rewrite,我的virtualhost路径已将AllowOverride设置为All,并且我已准备好.htaccess文件,其重写规则与所有人相同。但是,我无法使用干净的url路径访问某些页面。因此,对于90%的页面,干净的URL工作得很好。但对于这10%,他们没有

我已经检查过这些页面是否存在——它们确实存在。检查是否可以使用index.php访问它们?q=[path]——它们是。它们只能通过干净的url路径访问


有人能帮我解开这个谜团吗?

mod\u rewrite
有一些长期存在的错误,它们会在运行过程中损坏URL(您的问题URL是否有转义字符?)。我不知道Drupal是否会这样做,但在其他PHP应用程序中,我必须添加代码,以便在达到正确的入口点后重新进行重写


不幸的是,Drupal无法在
path\u INFO
中获取其搜索路径(正如许多其他应用程序所做的那样),否则您可以使用更简单、更可靠的
mod\u alias

mod\u rewrite
有一些长期存在的错误,这些错误会破坏URL(您的问题URL是否有转义字符?)。我不知道Drupal是否会这样做,但在其他PHP应用程序中,我必须添加代码,以便在达到正确的入口点后重新进行重写


不幸的是,Drupal无法在
path\u INFO
中获取其搜索路径(正如许多其他应用程序所做的那样),否则您可以使用
mod\u alias
,它更简单、更可靠。

因为您可以通过q=path/to/menu/item访问页面,显然是mod\u rewrite出了问题,而不是Drupal

要调试重写过程,请在请求有问题的页面时打开和tail-f,或者在index.php或page.tpl.php顶部打印\r($\u GET)以查看实际请求的内容


如果您愿意在此处发布您的潜在敏感.htaccess,请这样做,我们可以为您查看它是否存在任何错误配置。

因为您可以通过q=path/to/menu/item访问您的页面,那么很明显是mod_rewrite出了问题,而不是Drupal

要调试重写过程,请在请求有问题的页面时打开和tail-f,或者在index.php或page.tpl.php顶部打印\r($\u GET)以查看实际请求的内容


如果您愿意在此处发布您的潜在敏感.htaccess,请这样做,我们可以为您查看它是否存在任何错误配置。

我不这么认为。以下是路径之一,例如:node/add/product。我的意思是,你的url被重写(通过
mod_rewrite
)到
index.php?q=node/add/product
,路径在查询字符串中,而不是
index.php/node/add/product
,路径作为路径。我不这么认为。以下是路径之一,例如:node/add/product。这很简单。我的意思是你的url被重写(通过
mod_rewrite
)为
index.php?q=node/add/product
,路径在查询字符串中,而不是
index.php/node/add/product
,路径为路径。好的,我打印了($\u-GET)。这是我看到的:Array([q]=>error/HTTP\u NOT\u FOUND.html.var)警告:无法修改头信息-头已经被发送(输出开始于X:\Dropbox\Home\My Dropbox\Sites\drupal\index.php:4)在X:\Dropbox\Home\My Dropbox\Sites\drupal\includes\bootstrap.inc第1369Ok行,我完成了打印($\u GET)。这就是我看到的:数组([q]=>error/HTTP\u NOT\u FOUND.html.var)警告:无法修改头信息-头已经由X:\Dropbox\Home\My Dropbox\Sites\drupal\index.php:4)在X:\Dropbox\Home\My Dropbox\Sites\drupal\includes\bootstrap.inc第1369行中发送(输出开始于X:\Dropbox\Home\My Dropbox\Sites\drupal\index.php:4)