【问题标题】:Mod Rewrite - Rewrite URLMod 重写 - 重写 URL
【发布时间】:2017-02-16 19:06:35
【问题描述】:

我必须更改我的网址

https://example.com/public/contact.php(真实路径)

https://example.com/contact

使用 mod 重写。

contact 只是一个占位符,它应该适用于public 目录中的每个文件。喜欢/home/login

我可以通过以下方式删除文件扩展:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

【问题讨论】:

  • “改变”是什么意思? /public/contact.php实际上是文件的真实路径,您希望通过example.com/contact访问它?
  • 是的@EduardoEscobar

标签: apache mod-rewrite url-rewriting


【解决方案1】:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^\./]+)/?$
RewriteRule .* /public/%1.php [L]

注意:这不会处理两个或更多级别的 URL,即:https://example.com/contact/form

【讨论】:

  • 不行,看看你的apache服务器的错误日志,看看404是什么原因
  • 感谢它现在正在工作!但我还有一个小问题.. 当我访问example.com 时,我想显示index.php
  • 这些规则不会与https://example.comhttps://example.com/index.php 冲突。
  • 当我在 example.com 上时,我得到了 `index of ` 页面。
猜你喜欢
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 2014-08-02
  • 2011-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多