简体   繁体   中英

Apache Rewrite URL, Works in WAMP, not in LAMP

I have a custom MVC app, where in it used IndexController naming convention, which I have built on WAMP. Today i tried it to put in to Linux (LAMP).. Strangely, it is giving error "page not found". Can anybody help. I am not good at mod rewrite,

Following is the code

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]

URL is

http://hostname/mvc/incident/add

Error is The requested URL /app01/users/public_html/mvc/index.php was not found on this server.

Try either adding:

RewriteBase /mvc/

just under the RewriteEngine on directive, or add a leading slash to index.php :

RewriteRule ^(.*)$ /mvc/index.php?request=$1 [L,QSA]

You need to put a / before index.php and some other stuff. Look at the example I got from Wordpress's one.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Hi I solved this issue by using error redirecting functionality. I put following code in my .htaccess file

ErrorDocument 403 /~renjith/mvc/index.php
ErrorDocument 404 /~renjith/mvc/index.php

and in index.php file i used, $_SERVER['REQUEST_URI'] to get thr URL with query strings

I think that ./htaccess configuration is correct. I solved it simply by adding this directive to my apache2.conf file on debian.

<Directory /var/www/html/your_app_folder>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted</Directory>  

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM