У меня есть простое правило mod_rewrite, которое позволяет мне перенаправить любые запросы, которые не являются фактическими файлами или каталогами в файл index.php
Options +SymLinksIfOwnerMatch RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
в PHP-файле я поставил этот простой код для обработки этой навигации
<?php $navString = $_SERVER['REQUEST_URI']; // Returns "/Mod_rewrite/edit/1/" $parts = explode('/', $navString); // Break into an array // Lets look at the array of items we have: print_r($parts); ?>
моя среда разработки – XAMPP и Windows 7 – 64-разрядный файл httpd.conf
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory> <Directory "C:/xampp/cgi-bin"> AllowOverride All Options None Order allow,deny Allow from all </Directory>
моя проблема в том, когда когда-либо я передаю любую вариацию для скрипта, например
http://locahost/test/somethinghere/andhere
он перенаправляет меня на страницу локального хоста по умолчанию, которая
http://locahost/xampp
Ниже приведены инструкции по включению .htaccess mod_rewrite в xampp.
1. Open and edit C:\xampp\apache\conf\httpd.conf in a text editor 2. Find the line which contains #LoadModule rewrite_module modules/mod_rewrite.so and (uncomment) change to LoadModule rewrite_module modules/mod_rewrite.so 3. Find all occurrences of AllowOverride None and change to AllowOverride All 4. Restart xampp That's it you should be good to go.
Справка: http://www.leonardaustin.com/blog/technical/enable-mod_rewrite-in-xampp/
Решенный я просто добавил папку в .htaccess и удалил Options + SymLinksIfOwnerMatch
RewriteBase /test/