我已经关注了很多stackoverflow问题和谷歌搜索但我不能正确地重写我的网址。 这是我网站的一个简单的例子
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的任何其他链接,我需要将网址重写为 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
答案 0 :(得分:1)
您可以在/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
文件中验证标题是否正确(如果需要)。