Я следил за множеством вопросов, связанных с stackoverflow, и Googling. Но я не могу правильно переписать url. Вот простой пример моего сайта
root-|
|__mydomain-|
|
-|
|__cat1-|__.htaccess
| |__index.php
| |__single.php
|
|__.htaccess
|__index.php // home-page
моя главная страница содержит ссылку меню: mysite.com/cat1
->, который правильно показывает "root/cat1/index.php ".
Вопрос 1:
Для любых других ссылок, содержащих cat1/post-id/title, мне нужно переписать url на single.php? Id = post-id
mysite.com/cat1/123/title
-> should show single php with content of post with id:123
Что я написал в файле root/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
Вы можете немного изменить свое правило внутри /cat1/.htaccess
:
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cat1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\d+)/(.+?)/?$ single.php?id=$1&title=$2 [L,QSA]
</IfModule>
Убедитесь, что это находится в /cat1/.htaccess
PS: Я добавил параметр title
чтобы вы могли проверить правильность заголовка (если необходимо) внутри файла single.php
.
.htaccess
на мой хост, и он работает там! но в моем местном у меня все еще есть проблема. Кажется, это проблема с сервером Wamp в моем локальном