I´m trying to do a simple redirection with Apache2 with mod_rewrite. I've installed the module in my Apache and I´ve set a webpage in localhost/file1/file2/page.html. I´m writing this in my 000-default file:
RewriteEngine On
RewriteRule elegantdirectory/page.html file1/file2/page.html [L,NC]
So now if I try to access to localhost/elegantdirectory/page.html, the server is supposed to show me the page.html I have in file1/file2. Any ideas why isn't it working?
Try including bounds and a leading slash in your RewriteRule:
RewriteRule ^/elegantdirectory/page.html$ /file1/file2/page.html [L,NC]
Related
I am starting to learn how to work with laravel but got a problem. When I go to: http://localhost/testing/public/ I get a working page but when I typ for example http://localhost/testing/public/home which is one of my views I get a 404 error. Does someone know how to fix this?
Edit:
I am using the latest version of laravel and when I do for example:
Route::view('/home', 'home');
In my routes/web.php I get that error
This is more likely a problem with virtual Hosts, try the following:
First edit your route to :Route::get('/home', function(){echo
"hello"});
Then try to access: http://localhost/testing/public/index.php/home
If it works then its certainly because you don't have a virtualHost, you can set it easily in your Xampp config and modifying ur hosts file
First go to C:\Windows\System32\drivers\etc\hosts and add a new
line like: 127.0.0.1 yoursite.local
Then go to where xampp is installed under
xampp\apache\conf\extra\httpd-vhosts.conf
Then add a virtual host in the bottom of the file like:
<VirtualHost *:80>
DocumentRoot "PATH_to_laravel_folder/public"
ServerName yoursite.local
</VirtualHost>
Then you can access your route by typing: yoursite.local/home or
yoursite.local:80/home
Hope it helps you guys :)
It may be because of routes.
after creating a view you have to add it in routes/web.php
like Route::view('/yourUrl', 'viewName'); in 5.5 version.
for 5.4 or older versions Route::get('/yourUrl', 'viewName');
after adding this to routes/web.php. you can access http://localhost/testing/public/yourUrl
you can find more here
If http://localhost/testing/public/index.php/home works, try to create a .htaccess file in public directory with:
RewriteEngine On
RewriteBase /testing/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run $ composer install in you command line
I'm running a PHP app on the Heroku cedar stack. Is there a way to set up URL rewrite rules? I had hoped to do this in .htaccess files, but only access control directives are recognized in this.
I see that the Ruby advice is to use rake rewrite, but what needs to happen for a PHP app have URL rewrite configuration on Heroku?
You can use a normal .htaccess file with PHP on Heroku. Simply create a .htaccess file with the re-write conditions, similar to this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
This example lifted from WordPress. I believe all urls now redirect to /index.php. Example here: https://github.com/catsby/php-heroku-htaccess and app here: http://php-heroku-htaccess.herokuapp.com/something
So to partially answer my own question and continue what I alluded to in the comments, here's the difference between a Mac and a heroku .htaccess file that I needed to make:
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1/$2?arg=$3 #Mac
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1/$2.php?arg=$3 #heroku
This is more of a workaround than a solution. I believe the apache versions are different, but in the end I just capitulated on debugging this further and use a .htaccess file with two sections in it that I comment/uncomment.
I am still new to magento but I have been slowly making progress on replicating the production environment to a sandbox environment.
The issue I am currently running into is that when I go to my site I get a long url rather than a short optimized url. I am guessing it is a configuration setting that I need to change as well as, I went through and had to add index.php to the url string for it to work properly.
What I want to be able to do is use a short url such as /category/page.html rather than catalog/category/view/s/power-tools/id/261/
Thank you in advance!
This is probably because you need to reindex Catalog URL Rewrites. Go to System->Index Management and reindex. (It's probably best to select all and reindex though just to be sure!)
After working through this, I ended up changing the .htaccess Mage::run() settings. I ended up having to change some of the base url setting in the core_data_config table to finish getting everything to work correctly. I also ended up having to set the SEO rewrites (System Config > General > Web > Search Engine Optimization > Use Web Server Rewrites) = No
I found that once index.php was included in the path then my site was working properly.
This is what i ended up doing and it removed the index file as well. Part of the issue is that I installed magento in /store/dir/
1) Login to admin section by using the URL
http://domain.com/index.php/admin
2) then go to “System >> Configuration >>Web >> Search Engines Optimization”
Use Web Server Rewrites : YES
3) Go to “System >> Configuration >>Web >>Secure”
Use secure URL Frontend: YES
** I used the second one **
4)Then create the .htaccess file under your the magento installed folder.
If the magento installed under document root ( /home/username/public_html) then add follogig rules into .htaccess file
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
and If the magento installed under /shop or directory then add the following rules into ” /home/username/public_html/shop/.htaccess ” file.
<IfModule mod_rewrite.c >
RewriteEngine On
RewriteBase /shop/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /shop/index.php [L]
</IfModule >
http://www.bestdesigns.co.in/blog/remove-index-php-url-magento
I am trying to get my Flask application working on Hostgator shared account. I am having troubles with getting a right configuration of mod_rewrite rules. My dispatch.fcgi appears as a part of URL e.g. www.example.com/dispatch.fcgi/news/. How can I fix it?
Here is my .htacess:
RewriteEngine On
AddHandler fcgid-script .fcgi
RewriteRule ^(dispatch\.fcgi/.*)$ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]
I tried many variants none of them works for me.
Found a solution. Now it is in the Flask documentation. Check the "Configuring Apache" section.
I upgrade my magento store 1.4.1.1 to 1.6.1.0 following instruction from this link. Upgrade was successfully done. My Magento backend is working fine. But while I checking front end I got 404 error.
I tried various advice in Google. But none of them helps me.
If you have previous experience in this please share.
Edit :-
I think this problem is occurred due to multi store setup.so i share two table structures
core_store
core_store_group
Core_website
I found the problem myself:-
In "core_store" table some of the stores was disabled.While activate the all stores the problem is solved.
Clean the cache, rebuild catalog url rewrite index, check .htaceess and mod_rewrite
I had this same problem recently.
Check to see if any modifications of the root index.php file have been overridden by the upgrade.
You probably updated the $mageRunCode depending on what url you come to the site on, this will have been replaced by a default index.php file with the upgrade.
i have similar problem and i tried all solution above and also from google but its not solve the problem in the end i tried one solution that is in .htaccess file in root directory
############################################
## rewrite everything else to index.php
RewriteRule .* index.php [L]
</IfModule>
#########
i just comment the above line like
#RewriteRule .* index.php [L]
and then add this code
####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /magento/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
this will fix my problem and then all categories page and products page are opening perfect and no more 404 error or forbidden error comes. just posted it might be its help others