当前位置:Gxlcms > PHP教程 > AppacheRewriteRule问题

AppacheRewriteRule问题

时间:2021-07-01 10:21:17 帮助过:11人阅读

我想在地址栏里输入 http://web/cms/user_detail/74/41245/
然后将其重定向到 http://web/cms/user_detail.php?id=74&contents_id=41245
可是RewriteRule没起作用,报404错误

Not Found
The requested URL /cms/user_detail/74/41254/ was not found on this server.

这是为什么呢?

httpd.conf的相关配置如下,请问还缺了什么配置吗?


---------------------------------------------------------------------------



LoadModule rewrite_module modules/mod_rewrite.so


Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all



Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all




ServerAdmin mike@sina.com
DocumentRoot D:\webroot
DirectoryIndex index.html index.htm index.php
ServerName web
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/user_detail/([0-9]+)/([0-9]+)/?$
RewriteRule ^(.*)$ /user_detail.php?id=%1&contents_id=%2


回复讨论(解决方案)

第一次发关于php的帖子,老半天了,竟然一个回复的人都没,哎

没有找到页面,你是不是用的框架,如果是的话看一下路由正则匹配

没有找到页面,你是不是用的框架,如果是的话看一下路由正则匹配

看来是高人啊,拜一个先,我用了cake php

请教下路由正则匹配,如何查看,在哪配置?
我用的环境是windows+PHP集成环境CoreAMP.exe

另外我这httpd.conf的相关配置有错吗?

首先,把你的网站根目录定位成cms,要不就不要用.conf文件,在cms文件夹中用.htaccess

然后再试试这个(删除你原来的cond和rule):

RewriteRule /user_detail/([0-9]+)/([0-9]+)$ /user_detail.php?id=%1&contents_id=%2 [QSA,L]

没有找到页面,你是不是用的框架,如果是的话看一下路由正则匹配

我routes.php是这样子的:
$Route->connect('/', array('controller' => 'top', 'action' => 'index'));
$Route->connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
$Route->connect('/tests', array('controller' => 'tests', 'action' => 'index'));
?>

要如何修改?

首先,把你的网站根目录定位成cms,要不就不要用.conf文件,在cms文件夹中用.htaccess

然后再试试这个(删除你原来的cond和rule):

XML code

RewriteRule /user_detail/([0-9]+)/([0-9]+)$ /user_detail.php?id=%1&contents_id=%2 [QSA,L]

我把hconf文件里的删除了,然后我的.htaccess文件这么写的,还是不行

RewriteEngine On
RewriteCond %{HTTPS} on [NC]
RewriteRule (.*) http://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteRule /user_detail/([0-9]+)/([0-9]+)$ /user_detail.php?id=%1&contents_id=%2 [QSA,L]

唉,又是自己搞定了,万能的坛子,没起作用啊


RewriteCond %{HTTPS} on [NC]  RewriteRule (.*) http://%{SERVER_NAME}%{REQUEST_URI} [R,L]

这两句是做啥的,不怕麻烦呀,直接删除就好了,还敢加flag L...

楼主您好,我看了你之前关于点击按钮添加input控件的帖子
有些问题想请教,麻烦可以留下QQ什么的么
或者相互关注,发私信?

人气教程排行