Shi*_*Ota 11 apache mod-rewrite cakephp cakephp-2.1
所有.这次我尝试使用cakephp,但是我的"服务器上没有正确配置URL重写.1)帮我配置它2)我不能/不能使用URL重写".我可以知道这是apache和.htaccess问题,例如/ etc/apache2/sites-avaliable/default和每个目录.htaccess.
我的开发环境......
我的流程遵循......
1)/etc/apache2/httpd.conf
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
2)启用mod_rewrite
sudo a2enmod rewrite
sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
3)编辑/ etc/apache2/sites-avaliable/default(AllOverride None to AllOverride All)
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
prompt: sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
4)编辑或检查每个.htaccess文件 - > cake根目录
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
- > app根目录
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
- > webroot目录
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
这个问题解决了,谢谢.
我也有这个问题.事实证明.htaccess文件没有被复制到cakePHP源旁边.除非您复制顶级目录,否则在使用cp命令或在文件浏览器中没有隐藏文件时这是一个常见问题.
直接将文件复制到我的项目文件夹,为我修复它,而不必弄乱我的apache设置.
cp ~/git/cakePHP/.htaccess ~/project/folder/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12646 次 |
| 最近记录: |