首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess将url重写到页或目录

问.htaccess将url重写到页或目录
EN

Stack Overflow用户
提问于 2009-08-06 08:10:27
回答 3查看 2.4K关注 0票数 1

对于我的站点,我有一个RewriteRule,它将URL http://www.mysite.com/work指向work.php文件。我还有一个名为"work“的目录,其中有一些文件,比如project1.php、project2.php等等.

为了让URL http://www.mysite.com/work知道转到work.php文件,但是URL http://www.mysite.com/work/project1知道我要进入目录"work“并显示project1.php文件,我需要编写哪些规则?

编辑:应该指出,这是我目前正在处理的:

代码语言:javascript
复制
RewriteEngine On
RewriteBase /beta/
RewriteRule ^([a-z]+)$ $1.php [L]

有什么额外的建议来提高这种安全性吗?(停止目录跳转等)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-06 08:13:30

试试这个:

代码语言:javascript
复制
RewriteEngin On
RewriteBase /
RewriteRule ^work$ /work.php [QSA,L]

这将确保http://www.mysite.com/work (没有尾随斜杠)将进入您的work.php文件。

如果还希望http://www.mysite.com/work/ (带有尾随斜杠)转到work.php,请将这一行添加到上一个RewriteRule的上方。

代码语言:javascript
复制
RewriteRule ^work/$ /work [R=301,QSA,L]

这将将它重定向到URL,因此没有尾随斜杠,从而显示work.php文件。

UPDATE:,因为您已经有了RewriteBase指令,所以只需将RewriteRule行放在RewriteBase之后,而在RewriteRule之前作为规则,您将使用catch,并匹配所有内容。

票数 4
EN

Stack Overflow用户

发布于 2013-12-03 19:46:45

这就是你问题的答案。对我来说很管用。

代码语言:javascript
复制
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z]+)$ $1.php [L]

只需删除beta/

票数 0
EN

Stack Overflow用户

发布于 2009-08-06 08:14:17

试试这条规则:

代码语言:javascript
复制
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php [L]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1237531

复制
相关文章

相似问题

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