首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在路由索引中重写Php url

在路由索引中重写Php url
EN

Stack Overflow用户
提问于 2015-04-24 03:35:40
回答 2查看 19关注 0票数 0

我已经搜索这个网站好几天了,并尝试了所有方法来解决我的问题,但它仍然存在。我已经编码了我自己的内容管理系统,现在我需要重写所有的网址,.Specific的问题是,我有一个点访问通过index.php喜欢index.php?go=users&task=add_friend,现在我试图重写网址,只有/users/add_friend和类似的,但总是得到没有样式和javascript的主页。我最后一次尝试把它弄对

代码语言:javascript
运行
复制
RewriteEngine On
RewriteBase /mysite/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d



RewriteRule    ^([A-Za-z0-9-]+)?$  index.php?go=profile&id=$1   [QSA,L]
RewriteRule    ^([A-Za-z0-9-]+)/?$  index.php?go=profile&id=$1   [QSA,L]`

提前发送txn

EN

回答 2

Stack Overflow用户

发布于 2015-04-24 03:55:41

也许你可以试试这样的东西?

代码语言:javascript
运行
复制
RewriteEngine On
RewriteBase /mysite/

# passthrough anything that maps to a file/dir
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?go=profile&id=$1 [QSA,L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?go=$1&task=$2 [QSA,L]

至于你的css/js问题,你的链接可能都是相对链接,当你的URL有更多的深度(更多的/)时,你的相对URL基址就会改变,你的任何相对链接都会被破坏。你可以将它们都设为绝对链接,或者在页面的页眉中添加一个相对URL基址:

代码语言:javascript
运行
复制
<base href="/" />
票数 1
EN

Stack Overflow用户

发布于 2015-04-24 03:54:29

这是因为一旦进行了重写,您就需要

在head部分使用BASE标记。

代码语言:javascript
运行
复制
<base href="/">

或者使用CSS和JS的完整路径

代码语言:javascript
运行
复制
<link rel="stylesheet" type="text/css" href="/full/path/to/style.css">

然后你的css和JS就会显示出来。

此外,您不需要2个规则来使/成为可选的。你可以做到这一点。

代码语言:javascript
运行
复制
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9-]+)/?$  index.php?go=profile&id=$1   [QSA,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29832769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档