Я следил за множеством вопросов, связанных с stackoverflow и Googling. Но я не могу правильно переписать url. Вот простой exapmle моего сайтаправильный способ использования mod_rewrite
root-|
|__mydomain-|
|
-|
|__cat1-|__.htaccess
| |__index.php
| |__single.php
|
|__.htaccess
|__index.php // home-page
моя домашняя страница содержит ссылку меню: mysite.com/cat1
-> который показывает «корень/cat1/index.php» правильно ,
Question1:
Для любых других связей, которая содержит cat1/пост-ID/название мне нужно переписать URL в single.php идентификатор = пост-ид
mysite.com/cat1/123/title
-> should show single php with content of post with id:123
Что я написал? в корне/cat1/.htaccess
Options +FollowSymLinks
RewriteEngine on
<IfModule mod_rewrite.c>
RewriteBase /cat1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ single.php?id=$1 [L,QSA]
</IfModule>
я получаю ошибки как
[Mon Nov 24 13:49:08.549284 2014] [:error] [pid 7144:tid 784] [client 127.0.0.1:21397]
script 'C:/wamp/www/single.php' not found or unable to stat
Чрезвычайно много. но я все еще получаю Запрошенный URL /cat1/single.php не найден на этом сервере. кажется, что он ищет этот файл в ** root/cat1/single.php ** не в ** root/mydomain/cat1/single.php **, потому что, когда я создаю простой файл по этому пути: ** root/cat1/single.php ** появляется! – osyan
Я загрузил '.htaccess' на мой хост, и он работает там! но в моем локальном я все еще имею проблему. кажется, что-то проблема с wamp-сервером в моем локальном – osyan
Хорошо, поэтому проблема заключается в том, что эта дополнительная папка '/ mydomain /' на вашем локальном хосте, которой нет на реальном сервере. На localhost используйте строку 'RewriteBase' как' RewriteBase/mydomain/cat1/' – anubhava