在项目目录中设置apache2默认配置和htaccess的正确方法

时间:2016-10-06 21:25:56

标签: apache .htaccess url-rewriting url-redirection

亲爱的人,

我的目标是以特定方式设置apache2' 000-default.conf.htaccess,因此用户将始终被重定向到特定的php文件(例如index.php)如果他们(用户)想要访问我正在构建的Web应用程序。

示例:

  • example-app.local
  • 示例-app.local /你好世界
  • 示例-app.local / admin.php的
  • 示例应用内本地/../../../../我-password.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]

我得到的内容如下:&#34; Apache默认conf就像是配置之神,你可以明确指出你可以AllowRedirect神奇地触发功能htaccess并且你需要更神奇的语法来使用户的每个请求只能指向index.php&#34;这是对的吗?

工作正常 Apache正在运作。我通过

启用和禁用配置
 sudo a2ensite 000-default.conf
 sudo a2dissite 000-default.conf

然后我重新启动并通过

检查一切正常
sudo service apache2 restart
sudo service apache2 status

状态为active (running)

/etc/hosts的内容也会以正确的方式进行编辑,因为当我尝试将浏览器指向index.html页面时,我实际上可以看到example-app.local文件的内容。我还想指出我已正确安装php - 我通过phpinfo函数/方法测试了它。

我尝试了几个教程,但没有一个能帮到我。我相信我错过了一些重要的事情,而且我也是“失明的”。看到它,所以我需要有人打开&#39;我的眼睛,所以请 - 帮助我。

致以最诚挚的问候,

又一个混乱的初创公司,

Bobkoo

1 个答案:

答案 0 :(得分:0)

尝试一下: 在RewriteEngine On尝试RewriteBase /之后,在index.php之前丢失斜杠

BTW你在Windows上工作......所以DocumentRoot "/var/www/example-app"应该是C:\xampp\htdocs\project-folder