.htaccess文件URL重写的问题
想要把http://waimao.ubuntu.com/index.php/web/home/product_detail?p_id=64这个URL重写为http://waimao.ubuntu.com/goods/64这个样子, 在.htaccess文件下添加了如下规则:RewriteRule ^goods/(+)/?$ index.php/web/home/product_detail?p_id=$1 但是不成功, 请问是哪儿有问题呢??? 服务器是ubuntu+apache2 .htaccess的全部内容如下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|static|min|alipay|weixinpay|pingpp|upload|images|Batch_trans_notify-PH P-UTF-8|robots\.txt)
RewriteRule ^(.*)$ index.php/$1
RewriteRule ^goods/(+)/?$ index.php/web/home/product_detail?p_id=$1
</IfModule>
建议 url rewrite 的问题,首先看 url rewrite 的手册,然后可以打开 rewrite log 调试下。 你的路由规则写错了,RewriteRule ^(.*)$ index.php/$1 后面的表明当前规则是最后一条规则,停止分析以后规则的重写。
另外你的这个直接用框架里的routes就可以了,例如
$route['goods/(:num)'] = "web/home/product_detail?p_id=$1"; Michael锐生 发表于 2017-6-6 16:21
你的路由规则写错了,RewriteRule ^(.*)$ index.php/$1 后面的表明当前规则是最后一条规则,停止分析 ...
框架里这样写路由规则是不行的,报错404 张奇怪_jr7Kk 发表于 2017-6-30 16:37
框架里这样写路由规则是不行的,报错404
你看一下有没有跳转到你的方法里面去,或者你用原地址看是否正常
页:
[1]