URL routing with htaccess



我当前正在学习PHP,我一直在尝试建立PHP MVC网站。但是,我无法使URL路由在配置文件中正确工作。

这是我的Bitnami httpd-vhosts.conf文件(当我在Bitnami Server上开发它(:

<VirtualHost *:443>
  ServerName dev.example.com
  DocumentRoot "/opt/bitnami/apps/dev/htdocs"
  SSLEngine on
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !^/index.php$ [NC]
  RewriteRule . /index.php?url=%{REQUEST_URI} [L,QSA]
  SSLCertificateFile "/opt/bitnami/apps/dev/conf/server.crt"
  SSLCertificateKeyFile "/opt/bitnami/apps/dev/conf/server.key"
  Include "/opt/bitnami/apps/dev/conf/httpd-app.conf"
</VirtualHost>

根据我的理解,这是我期望这会做的。指示此URL:

https://dev.example.com/contact

to:

https://dev.example.com/index.php?url=contact

但是,它总是将我的url

https://dev.example.com/index.php?url=/contact

我一直在为这个问题挣扎了几个小时,任何帮助将不胜感激。

Bitnami工程师在这里。

如果要删除URL的//,则只需要在@karkouch解决方案中进行少量更改即可。使用此配置行

RewriteRule "^/?(.*)" /index.php?url=$1 [NC,L,QSA]

然后重新启动apache:(

最新更新