首先,我不是Linux上的专家,甚至不是Apache,我习惯在Windows上工作,WAMP,你只需要点击图标并更改你想要更改的配置。
现在我让LAMP正常工作,唯一不起作用的是HTACCESS
重写:
Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
这是一种常见的HTACCESS设置。
每次我写URL:localhost/mysite/services
都会引发404错误。
你必须知道我已经尝试过在Stackoverflow和Ubuntu论坛上看到的所有内容。
1)当我检查mod重写是否有效时,它说是
2)我在"default.conf"
中创建了一个"/etc/apache2/sites-available"
文件并将其放入:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
3)之后我重新启动了apache2服务
似乎什么都没有用,我很绝望,因为明天我必须完成这件事。
修改:
这个确切的配置在Windows-WAMP和Production Server(hostgator)上运行...我只是将所有应用程序粘贴到我的Ubuntu笔记本电脑上,在这里,它无法正常工作。
答案 0 :(得分:1)
我在Ubuntu 14中使用apache2,这对我来说很好。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|public|hme|img|editor|tsd|wd|images|edi|js|fonts|assets|robots\.txt|css|blog)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
希望这有帮助。