I would like to share with my project and get your opinions. I developed the project which needs to be launched through IIS. The problem is with linking to other pages. In fact, I partially managed to solve the problem, but so far by 30%. Authorization to the index.php main page is successful, but when you go to all other pages (for example, the "List of applications" page), error 404 appears.I send screenshots of the project. I can’t figure out why such an error comes out, I will be glad to hear your offers.
To resolve this issue try to follow some below steps:
1)make sure you installed php in iis.
2)Select site in ii manager and select directory browsing feature and enable it from the action pane.
3)after enabling it select site again and right-click on it and select Explore option and check that you are looking for file or folder is available or not.
and if you have .htaccess file and rewrite rules in it than install URL rewrite module in iis and import the .htaccess file in iis URL rewrite.
4) make sure that your site folder has iis_iusr and iusr permission.
To import the .htaccess file in iis:
1)Select site in iis.
2) select url rewrite module.
3)select import rule from the action pane.
4)Copy-paste your .htaccess file or select it under “rewrite rules” or select .htaccess file from “Configuration file”.
Related
I've deployed a symfony4 project on Azure, it uses IIS so .htaccess doesn't work. I've set the root folder on Azure app settings to "site\wwwroot\testproject\public" that folder contains index.php. I've tryed differents web.config without results.
If I open the app url it says: "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
but if I open the url appending /index.php it shows the content. I need a rewrite rule like symfony/apache-pack gives for apache but for IIS.
Thanks a lit
There is an extensive article on learn.microsoft.com on converting .htaccess to web.config: https://learn.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig
I won't paste the contents here since it is very extensive and I don't use Windows and you may have custom .htaccess rules.
I suggest you to identify all .htaccess config files on your install and convert them.
PhpInfo shows that the Apache Rewrite module is activated.
In the backoffice the simplified URLS option is activated.
But still urls are in the form of index.php?q=user
What could be other possible reasons for this?
Make sure the webserver are write permission on Prestashop installation directory. I fit do not, it will not be able to write down the .htaccess file.
I'm using the IDE PhpStorm 7.1.4 and trying to make an .htaccess file to stop users from going into a specific directory.
My folder structure is like this:
I want to make it so that users can't go in the /app folder or any folders inside that folder. For this, I've figured out that I can use this piece of code inside .htaccess:
Options -Indexes
I'm using the PHP web server from PHPStorm itself (which goes to localhost:63342/projectname/folderinproject/etc/etc/).
Problems
When directing to the page to the /app folder, I get an 404 error,
saying the index file doesn't exist.
When I have made an index.php file inside the /app folder, and I am redirecting to the /app folder, it just loading up the index.php.
When doing this with just a normal HTML project and opening the index.html via my windows explorer, the same problem occurs
Question
How can I make it so that my project would actually respond on the .htaccess file and wont allow me or other users to go into the /app folder?
EDIT
I figured out that when I copy all my files from my project to the c:\xampp\htdocs\ folder and turn on my Apache server inside of XAMPP, the .htaccess file is working whenever I open it via my regular browser (without selecting index.php in PhpStorm and choosing Open in browser...).
Is there any way I can do this same thing in PhpStorm without moving all the files?
If you are using the default configured web server, you are actually using PHP's new web server feature, which doesn't listen to .htaccess files. Only Apache listens to .htaccess files.
If you are wanting to test this functionality, you can either setup a VM running Linux and test, or setup WAMP on your system and run from there.
EDIT 1
Ok, can you add a little more detail about the exact problem? When you access localhost/app/ it is displaying the index.php file, instead of the 404. Does the application work entirely through the index.php file? If so, is the index.php file in the app or public?
EDIT 2
Ok, here's what you need to do. Place an .htaccess file in the root of your app directory. Clear the contents of this .htaccess and place the line DENY from ALL. You can keep the .htaccess file in the root of the project.
EDIT 3
PHPStorm is going to use the PHP Engine's web server. If you add the XAMPP location as a deployment path, it's fairly quick to deploy to. You can even setup PHPStorm to automatically deploy files to the XAMPP location on save. Here's the walk-through on the JetBrains site JetBrains Config.
The .htaccess plugins are mainly for editing and formating, not for modifying PHP Engine's server environment.
Using mod_alias is even easier:
Redirect 301 /app /new_directory
But if you have rewrite rules in your htaccess file already, then you need to stick with using mod_rewrite:
RewriteRule ^app/(.*)$ /new_directory/$1 [L,R=301]
I have a trouble in mod_rewrite redirect. I want to create friendly SEO links for my component. Now linkk looks like that:
http://www.mytestsite.com/index.php?option=com_mycomponent&task=show_posts&evid=11&Itemid=200&year=2013&month=10&day=15&title=this-is-really-test-article-here&uid=43840300d283724e77d5f33f19780f36&catids=15|16|17|18&filter_reset=1
I want to have:
http://www.mytestsite.com/posts/200-this-is-really-test-article-here
where first part of URL is itemid (200), and after article title.
How can i do that?
In Joomla, this is done in the administrator control panel by editing the site configuration (Site...Global Configuration). Click on the SEO tab and check the desired options, save and you're done.
If you need more options, try installing an SEO extension
Do make sure that you have a .htaccess file in the root of your web server home directory.
Also make sure that adequate file permissions are set, so that php/joomla can write to .htaccess and add mod_rewrite rules. I would recommend setting .htaccess file permission to 644. If that doesn't work, come back and ask again!
For Search Engine Keyword selection, this tutorial should be sufficient (skip to step 3): http://moz.com/blog/seo-your-joomla-website-in-11-super-easy-steps
A useful link to test if mod_rewrite is enabled on your webserver: http://docs.joomla.org/How_to_check_if_mod_rewrite_is_enabled_on_your_server
I am installing a site made in PHP/CodeIgniter 2 on a hosting server which unfortunately has IIS running, which I have no experience in.
Nothing is working except the homepage, all other pages are returning 404 errors.
Adding index.php to the url returns 500 - Internal server error (I have the index page config set to '' in the config.php file)
I tried also creating a web.config file thinking the issue might be from the redirects, but adding a web.config file stops even the homepage from working, even if the web.config file added is completely empty.
Help really appreciated.
Check if the hosting server has Re-write module installed in it, that could be your problem.
Make sure you had installed URL Rewrite -
http://www.iis.net/downloads/microsoft/url-rewrite
After you had installed the module you should able to see this icon (URL Rewrite) in your IIS Management.