2017-02-16 140 views
0

我有我的网址从现代重写 - 重写URL

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

使用国防部重写改变

https://example.com/contact

contact只是一个占位符,它应该与public目录中的每个文件一起使用。像/home/login

我能删除这个文件extionsion:

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

你这是什么意思是“改变”? '/public/contact.php'实际上是文件的真正路径,您希望通过https://example.com/contact访问它? –

+0

是@EduardoEscobar –

回答

1
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/([^\./]+)/?$ 
RewriteRule .* /public/%1.php [L] 

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

+0

不,请看看您的apache服务器的错误日志,看看404 –

+0

的原因,谢谢它现在正在工作!但我有另一个小问题..当我访问'example.com'我想显示'index.php'。 –

+0

这些规则不会与'https:// example.com'和'https:// example.com/index.php'冲突。 –