我当前正在学习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:(