亲爱的人们,
我的目标是以一种特定的方式设置apache2的000-default.conf
和.htaccess
,因此如果用户(用户)想要访问我正在构建的web应用程序,则用户将始终被重定向到特定的php文件(例如index.php
)。
例子:
- 范例应用。当地的
- example-app.local/hello world
- example-app.local/admin.php
- example-app-local/../../../../my-passwords.txt
都应该指向index.php
。我学习了几个教程,但我想我需要一个专门的教程,这样我才能完全理解apache2的概念及其配置。请随意评判我——我对批评没有意见。
我的文件中有以下内容
1。000-default.conf文件位于/etc/apache2/sites-available/
<VirtualHost *:80>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
…还有很多注释
2。example-app.local.conf文件位于/etc/apache2/sites-available/
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example-app.local
ServerAlias www.example-app.local
DocumentRoot "/var/www/example-app"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
3。.htaccess文件位于/var/www/example-app/
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,R]
我得到的是以下内容:"Apache默认配置就像配置之神,你可以特别声明你可以AllowRedirect
,这将神奇地触发htaccess
的功能,在那里你需要更神奇的语法,使每个请求从用户点只到index.php"这是正确的吗?
正在工作 Apache正在工作。我通过
启用和禁用配置 sudo a2ensite 000-default.conf
sudo a2dissite 000-default.conf
然后重新启动并通过
检查一切是否正常sudo service apache2 restart
sudo service apache2 status
active (running)
.
/etc/hosts
的内容也以正确的方式编辑,因为当我尝试将浏览器指向example-app.local
页面时,我实际上可以看到index.html
文件的内容。我还想指出,我已经正确安装了php -我通过phpinfo
函数/方法测试了它。
我试了几个教程,没有一个帮助我。我相信我错过了一些重要的东西,我太"盲目"了,看不见它,所以我需要有人"打开"我的眼睛,所以请帮助我。
最诚挚的问候,
又一个困惑的创业开发者,
Bobkoo
试试这个:在RewriteEngine On
之后试试RewriteBase /
,去掉index.php
顺便说一句,你在Windows上工作…所以DocumentRoot "/var/www/example-app"
应该是C:xampphtdocsproject-folder