我有以下链接,我想用modrewrite更改它。在我的电脑里,我有最新的xampp。
我有以下链接:http://localhost/site/index.php?site=blog&action=watch&blogID=1&title=my_new_site
想要更改为:http://localhost/site/blog/1/my_new_site
或者,如果你有sollution,我可能会使用http://localhost/site/blog/my_new_site
我有这段代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?site=$1
RewriteRule ^/blog/(.*)/(.*)/?$ index.php?site=blog&action=watch&blogID=$1&title=$2
编辑:
我改变了我的规则,但仍然无法正常工作
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?site=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?site=blog&action=watch&blogID=$1&title=$2 [L]
仍然无法执行以下操作:http://localhost/site/blog/1/my_new_site
我收到以下错误:在此服务器上找不到请求的网址。
答案 0 :(得分:1)
在/site/
中尝试此.htaccess:
ErrorDocument 404 default
RewriteEngine on
RewriteBase /site/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([^/]+)$ index.php?site=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?site=$1&action=watch&blogID=$2&title=$3 [L,QSA]